【发布时间】:2012-07-07 10:25:55
【问题描述】:
我需要为嵌套字典中的每个项目添加一个值加一的键。我一直在尝试使用 dict['key']='value' 语法,但无法让它适用于嵌套字典。我敢肯定这是一个非常简单的。
我的字典:
mydict={'a':{'result':[{'key1':'value1','key2':'value2'},
{'key1':'value3','key2':'value4'}]}}
这是将键添加到字典主要部分的代码:
for x in range(len(mydict)):
number = 1+x
str(number)
mydict[d'index']=number
print mydict
#out: {d'index':d'1',d'a'{d'result':[...]}}
我想将新的键和值添加到方括号内的小字典中:
{'a':{'result':[{'key1':'value1',...,'index':'number'}]}}
如果我尝试在 for loop 的最后一行添加更多层,我会收到回溯错误:
Traceback (most recent call last):
File "C:\Python27\program.py", line 34, in <module>
main()
File "C:\Python27\program.py", line 23, in main
mydict['a']['result']['index']=number
TypeError: list indices must be integers, not unicode
我尝试了各种不同的方法来列出嵌套项,但没有任何乐趣。有谁能帮帮我吗?
【问题讨论】:
-
@senderle 我的实际代码太长了,这是一个总结。适合我吗?
-
@senderle 请接受我的道歉,我错误地添加了额外的大括号。现在修改谢谢。
-
太棒了!谢谢指正。
-
@adohertyd:希望输出的示例怎么样?
-
@JoelCornett 我在回溯代码上方添加了它
标签: python dictionary