在字典遍历过程中修改字典元素,报错 RuntimeError: dictionary changed size during iteration
得知遍历时不能修改字典元素
for k in func_dict.keys():
if func_dict[k] is np.nan:
del func_dict[k]
continue
解决办法:将遍历条件改为列表
for k in list(func_dict.keys()):
if func_dict[k] is np.nan:
del func_dict[k]
我需求添加一个值为嵌套字典中的每个项增加一个的键。我不断在尝试运用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:27\program.py", line 34, in
main()
File "C:\Python27\program.py", line 23, in main
mydict['a']['result']['index']=number
TypeError: list indices must be integers, not unicode
https://pan.baidu.com/s/174skbyjVAX-R3kdJX73ldA
提取码:rmf2
--来自百度网盘超级会员V4的分享


雷达卡


京公网安备 11010802022788号







