例如我有两个字典:
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}
也就是说:如果一个键出现在两个dict中,则添加它们的值,如果它只出现在一个dict中,则保留其值。
使用collections.Counter:
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})
Counters 基本上是 的子类dict,因此您仍然可以使用它们执行通常使用该类型执行的所有其他操作,例如迭代它们的键和值。
dict