【发布时间】:2014-02-03 01:26:16
【问题描述】:
我有一个名为lod 的字典列表。所有字典都有相同的键,但值不同。我正在尝试更新所有字典中相同键的值列表中的一个特定值。
我正在尝试使用以下 for 循环:
for i in range(len(lod)):
a=lod[i][key][:]
a[p]=a[p]+lov[i]
lod[i][key]=a
发生的情况是每个字典都在更新len(lod) 次,因此lod[0][key][p] 应该添加lov[0],但实际上却添加了lov[0]+lov[1]+....。
我做错了什么?
这是我声明字典列表的方式:
lod = [{} for _ in range(len(dataul))]
for j in range(len(dataul)):
for i in datakl:
rrdict[str.split(i,',')[0]]=list(str.split(i,',')[1:len(str.split(i,','))])
lod[j]=rrdict
【问题讨论】:
-
请发布更完整的代码。什么是datakl? rrdict 是如何初始化的?您确定要在第一个代码片段中索引 lov[i] 吗?一些数据样本也会大大提高问题的质量。
标签: python for-loop dictionary