如何将列表中的字典合并为一个词典,并添加相同键的值?

我正在尝试将包含字典的列表转换为一个字典,其中添加了通用键的值。

以该列表为例:

list = [{'Apple': 3,'Orange': 2},{'Apple': 1,'Grapes': 3,'Orange': 1},{'Apple': 2}]

我想要一个将该列表作为输入并返回以下内容作为输出的函数:

{'Apple': 6,'Orange': 3,'Grapes': 3}
cl11533248 回答:如何将列表中的字典合并为一个词典,并添加相同键的值?

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,{'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)
本文链接:https://www.f2er.com/3131258.html

大家都在问