具有相同键的两个不同字典的总和值

Pra*_*aur 4 python

我有两本词典

first = {'id': 1, 'age': 23}
second = {'id': 4, 'out': 100} 

我想要输出字典

{'id': 5, 'age': 23, 'out':100}

我试过了

>>> dict(first.items() + second.items())
{'age': 23, 'id': 4, 'out': 100}

但我得到的身份是4,但我希望它是5.

ron*_*man 12

你想使用collections.Counter:

from collections import Counter

first = Counter({'id': 1, 'age': 23})
second = Counter({'id': 4, 'out': 100})

first_plus_second = first + second
print first_plus_second
Run Code Online (Sandbox Code Playgroud)

输出:

Counter({'out': 100, 'age': 23, 'id': 5})
Run Code Online (Sandbox Code Playgroud)

如果您需要将结果作为true dict,只需使用dict(first_plus_second):

>>> print dict(first_plus_second)
{'age': 23, 'id': 5, 'out': 100}
Run Code Online (Sandbox Code Playgroud)