0

我有一本看起来像这样的字典:

{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) + 下一个键中的 A 值 (1225)。

我试过这个:

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

但它不求和,每次只返回每个键的 A 值。

4

2 回答 2

7

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

sum = 0
for d in celldict.values():
    sum += d.get('A',0)
    d['TOTAL_A'] = sum
于 2012-11-28T11:04:06.543 回答
4

问题是,您sum在每次迭代时都重置。这就是为什么sum从不累积以前的值。

移出sum = 0循环。

于 2012-11-28T11:07:13.583 回答