我有两本词典,我需要将它们合并起来。但如果一个键在两个字典中都有,则新值必须是前两个值的和。这就是我尝试过的:
dict1 = {
"Elizabeth Alexandra Mary": 250000,
"Barack Hussein Obama II": 1750000,
"Zhang Aiqin": 1000,
"Dean Craig Pelton": 1000000,
}
dict2 = {
"Christopher Larkin": 50000,
"Eyal Shani": 5000,
"Dean Craig Pelton": 2500000,
"Sheldon Cooper": 15600000
}
dict1.update(dict2)
print('Updated dictionary:')
print(dict1)
Run Code Online (Sandbox Code Playgroud)
但Dean Craig Pelton的价值是2500000,而不是我想要的3500000。我怎样才能解决这个问题?
其他建议也会起作用。但如果你想尝试这种更Pythonic的方式:(或者只是懒惰...... ;-)
from collections import Counter
d3 = Counter(dict1) + Counter(dict2)
print(d3) # to confirm it
Run Code Online (Sandbox Code Playgroud)
输出:
Counter({'Sheldon Cooper': 15600000, 'Dean Craig Pelton': 3500000, 'Barack Hussein Obama II': 1750000, 'Elizabeth Alexandra Mary': 250000, 'Christopher Larkin': 50000, 'Eyal Shani': 5000, 'Zhang Aiqin': 1000})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |