小能豆

是否有任何 Python 方式来合并两个字典(为同时出现在两个字典中的键添加值)?

javascript

例如我有两个字典:

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

我需要一种 Python 风格的方法来“组合”两个字典,其结果如下:

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

也就是说:如果一个键在两个字典中都出现,则将它们的值相加;如果它只出现在一个字典中,则保留其值。


阅读 47

收藏
2024-06-26

共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,因此您仍然可以对它们执行通常对该类型执行的所有其他操作,例如迭代它们的键和值。

2024-06-26