python实现两个字典相加
最近遇到了需要字典相加的操作,其中这分为两种。如下面例子所示
第一种是键相同的保持第一个字典中的值,键不同的直接添加到新字典中
例如dict1 = {'a': 1, 'b': 2}
dict2 = {'a': 2, 'c': 3}
Out: {'a': 1, 'b': 2, 'c': 3}
- 1
- 2
- 3
- 4
这种实现方式为
dict1 = {'a': 1, 'b': 2}
dict2 = {'a': 2, 'c': 3}
print({**dict1, **dict2})
- 1
- 2
- 3
还有一种就是如果遇到相同的键,就把对应的值相加。
例如dict1 = {'a': 1, 'b': 2}
dict2 = {'a': 2, 'c': 3}
Out: {'a': 3, 'b': 2, 'c': 3}
- 1
- 2
- 3
- 4
这种实现方式是
from collections import Counter
dict1 = {'a': 1, 'b': 2}
dict2 = {'a': 2, 'c': 3}
print(dict(Counter(dict1) + Counter(dict2)))
- 1
- 2
- 3
- 4
- 5