dict1 = {a: 5, b: 7}
dict2 = {a: 3, c: 1}

result {a:8, b:7, c:1}

如何获得结果?

最佳答案

这是一个单行代码,可以做到这一点:

dict1 = {'a': 5, 'b': 7}
dict2 = {'a': 3, 'c': 1}

result = {key: dict1.get(key, 0) + dict2.get(key, 0)
          for key in set(dict1) | set(dict2)}
# {'c': 1, 'b': 7, 'a': 8}
请注意,set(dict1) | set(dict2)是两个词典的键集。如果 key 存在,则dict1.get(key, 0)返回dict1[key],否则返回0

这适用于更新的python版本:
{key: dict1.get(k, 0) + dict2.get(k, 0) for k in dict1.keys() | dict2.keys()}

关于python - 从两个字典中添加值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45713887/

10-12 01:29
查看更多