Skip to main content
 首页 » 编程设计

Python:从多个字典中添加值并合并唯一键

2025年05月04日12zengkefu

我有 2 个字典,它们共享大约 80% 的相同键,值是 2 个元素列表。我需要从这三个字典中创建一个包含所有键的新字典,包括每个字典唯一的键,并且我需要对相同键的值求和。

    dict1 = {'Mike': [10,20], 'John': [12,34], 'Steve': [60,10]} 
    dict2 = {'Mike': [15,10], 'John': [18,36]} 

新词典应该是这样的:

    dict3 = {'Mike': [25,30], 'John': [30,70], 'Steve': [60,10]} 

知道我应该如何解决这个问题吗?

请您参考如下方法:

有很多方法可以做到这一点,但这里有一种方法可以最大限度地减少查找,如果实际的字典很大,这可能会有所帮助:

keys_1 = set(dict1.keys()) 
keys_2 = set(dict2.keys()) 
all_keys = keys_1 | keys_2 
for key in all_keys: 
    a,b = 0,0 
    if key in keys_1: 
        a += dict1[key][0] 
        b += dict1[key][1] 
    if key in keys_2: 
        a += dict2[key][0] 
        b += dict2[key][1] 
    dict3[key] = [a,b]