dict1 = {a: 5, b: 7}
dict2 = {a: 3, c: 1}
result {a:8, b:7, c:1}
我怎样才能得到结果?
原文由 Peter 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 collections.Counter
实现加法 +
这样:
>>> from collections import Counter
>>> dict1 = Counter({'a': 5, 'b': 7})
>>> dict2 = Counter({'a': 3, 'c': 1})
>>> dict1 + dict2
Counter({'a': 8, 'b': 7, 'c': 1})
如果你真的想要结果作为 dict,你可以在之后将它的转换回来:
>>> dict(dict1 + dict2)
{'a': 8, 'b': 7, 'c': 1}
原文由 MSeifert 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
这是一个可以做到这一点的单行代码:
请注意
set(dict1) | set(dict2)
是两个字典的键集。和dict1.get(key, 0)
返回dict1[key]
如果密钥存在,0
否则。这适用于更新的 python 版本: