记住python字典中每个键的总和

时间:2012-11-28 11:01:15

标签: python dictionary

我的字典看起来像这样:

{1224:{'A': 6, 'B': 4, 'C': 5}, 1225: {'A': 6, 'B': 6, 'C': 5}}

我想在每个密钥中存储A的总数,并得到如下结果:

{1224:{'A': 6, 'B': 4, 'C': 5, 'Total_A' : 6}, 1225: {'A': 6, 'B': 6, 'C': 5, 'Total_A' : 12}}

Total_A是第一个键中的A值(1224)+下一个键中的值(1225)。

我试过了:

for d in celldict.values():
    sum = 0
    sum += d.get('A',0)
    d['TOTAL_A'] = sum

但它没有任何总和,每次只返回每个键的A值。

2 个答案:

答案 0 :(得分:7)

我想你应该知道循环中发生了什么。 正确答案如下:

sum = 0
for d in celldict.values():
    sum += d.get('A',0)
    d['TOTAL_A'] = sum

答案 1 :(得分:4)

问题是,您在每次迭代时重置sum。这就是sum永远不会累积先前值的原因。

sum = 0移出循环。