我正在尝试将包含字典的列表转换为一个字典,其中添加了通用键的值。
以该列表为例:
list = [{'Apple': 3, 'Orange': 2}, {'Apple': 1, 'Grapes': 3, 'Orange': 1}, {'Apple': 2}]
我想要一个将该列表作为输入并返回以下内容作为输出的函数:
{'Apple': 6, 'Orange': 3, 'Grapes': 3}
答案 0 :(得分:3)
from collections import Counter
fruit_dicts = [
{'Apple': 3, 'Orange': 2},
{'Apple': 1, 'Grapes': 3, 'Orange': 1},
{'Apple': 2}
]
counter = Counter()
for fruit_dict in fruit_dicts:
counter.update(fruit_dict)
print(counter)
输出:
Counter({'Apple': 6, 'Orange': 3, 'Grapes': 3})
编辑,无需使用collections.Counter
:
fruit_dicts = [
{'Apple': 3, 'Orange': 2},
{'Apple': 1, 'Grapes': 3, 'Orange': 1},
{'Apple': 2}
]
counter = {}
for fruit_dict in fruit_dicts:
for key, value in fruit_dict.items():
counter.update({key: counter.get(key, 0) + value})
print(counter)