python - 按键对子项中的值求和
问题描述
有一个像这样的字典:
x = {
'1': {'a': 1, 'b': 3},
'2': {'a': 2, 'b': 4}
}
我想要一个新键total
,其中包含子字典中每个键的总和,例如:
x['total'] = {'a': 3, 'b': 7}
我试过调整这个问题的答案,但没有成功。
有人可以发光吗?
解决方案
假设 的所有值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})
推荐阅读
- javascript - 反应,从根文件夹导入文件时出错
- react-native - 如何计算 react-native-calendars 中的选定日期?
- jquery - 是否可以在包含它的外部托管页面上使用 jquery 覆盖表单操作?
- html - 带有 routerLink 的 Angular/Typescript 文本
- python-3.x - re.MULTILINE 标志干扰了行尾 $ 运算符
- c - 如何在gtk和glade中嵌入情节
- database - 如何避免 spark scala 中的多个 mongo db 连接
- google-bigquery - 为什么通过 Simba ODBC 驱动程序连接到 Google BigQuery 时出现“从字符串到数字的转换失败,值为 ''”错误?
- sql - SQL:我如何在选择语句中忽略重复项,同时更喜欢一种类型的条目而不是另一种?
- haskell-stack - 如何使用“-with-rtsopts”转义多个参数