首页 > 解决方案 > 按键对子项中的值求和

问题描述

有一个像这样的字典:

x  = {
  '1': {'a': 1, 'b': 3},
  '2': {'a': 2, 'b': 4}
}

我想要一个新键total,其中包含子字典中每个键的总和,例如:

x['total'] = {'a': 3, 'b': 7}

我试过调整这个问题的答案,但没有成功。

有人可以发光吗?

标签: python

解决方案


假设 的所有值x都是字典,您可以遍历它们的项目以组成新字典。

from collections import defaultdict

x  = {
  '1': {'a': 1, 'b': 3},
  '2': {'a': 2, 'b': 4}
}

total = defaultdict(int)

for d in x.values():
    for k, v in d.items():
        total[k] += v

print(total)
# defaultdict(<class 'int'>, {'a': 3, 'b': 7})

推荐阅读