使用字典更新添加[重复]

Posted

技术标签:

【中文标题】使用字典更新添加[重复]【英文标题】:Addition using Dictionary updates [duplicate] 【发布时间】:2013-08-10 18:18:32 【问题描述】:

我有一堆字典,例如 ...

u'APPLES': 1
u'PEARS': 7
u'BANANAS': 10

u'APPLES': 9
u'PEARS': 13
u'BANANAS': 20

但是我想将它们加在一起,所以我最终得到"APPLES":10 等。什么是最好的pythonic 方式来做到这一点。

谢谢,

【问题讨论】:

数据是什么形式的?是u'APPLES': 1, u'PEARS': 7, ... 还是[u'APPLES': 1, u'PEARS': 7, ... ] 有点令人失望的是,该问题的 OP 选择了他所做的答案而不是 DiggyF 的答案(这与我的相同......甚至还有不必要的 reduce 替代方案),但是是的,这是一个重复。 【参考方案1】:
from collections import Counter

counts = Counter()

for d in bunch_of_dicts:
    counts.update(d)

【讨论】:

Counter.update 会更简洁。 完美。非常感谢,【参考方案2】:
import collections

totals = collections.Counter()
for d in a_bunch_of_dicts:
    totals.update(d)

【讨论】:

我很惊讶已经 2 分钟了,仍然没有人建议 reduce 导致争论每个 reduce 是否更好作为显式循环。 :)

以上是关于使用字典更新添加[重复]的主要内容,如果未能解决你的问题,请参考以下文章