一尘不染

有什么Python方式可以合并两个字典(为同时出现在两个字典中的键添加值)?

python

例如,我有两个字典:

Dict A: {'a': 1, 'b': 2, 'c': 3}
Dict B: {'b': 3, 'c': 4, 'd': 5}

我需要一种“结合”两个字典的pythonic方式,使得结果是:

{'a': 1, 'b': 5, 'c': 7, 'd': 5}

也就是说:如果一个键同时出现在两个字典中,则将其值相加;如果仅出现在一个字典中,则保留其值。


阅读 827

收藏
2020-02-13

共1个答案

一尘不染

用途collections.Counter

>>> from collections import Counter
>>> A = Counter({'a':1, 'b':2, 'c':3})
>>> B = Counter({'b':3, 'c':4, 'd':5})
>>> A + B
Counter({'c': 7, 'b': 5, 'd': 5, 'a': 1})

计数器基本上是的子类dict,因此您仍然可以使用该类型对它们执行其他所有操作,例如遍历它们的键和值。

2020-02-13