Skip to main content
 首页 » 编程设计

python之对字典之间的值求和

2025年05月04日13kenshinobiy

目标:

只要键相同,我就会尝试对 dict ct_db 和 ct_db2 之间的值求和。

示例:

RR-00 == RR-00,所以得到 14 + 223

问题:

没有比较所有的dict key,遍历完dict就结束了,但是由于key乱序,所以没有进行正确的计算。

脚本:

ct_db = {u'AB-00 ': 18, u'RR-00': 14, u'LD-00 ': 56, u'SR-00': 33, u'YT-00 ': 452} 
ct_db2 = {u'CD-07 ': 26, u'RR-00': 223, u'LD-00 ': 367, u'SR-00': 257, u'IA-00 ': 11} 
 
not_installed = [] 
for elemA, elemB in zip (ct_db, ct_db2): 
        if (elemA == elemB): 
                print ("MATCH" + elemA + "-" + elemB) 
                not_installed.append (ct_db [elemA] + ct_db2 [elemB]) 
        else: 
                print ("NOT MATCH" + elemA + "-" + elemB) 
 
print (not_installed) 

输出:

NOT MATCH LD-00 - CD-07 
NOT MATCH SR-00 - LD-00 
NOT MATCH AB-00 - RR-00 
NOT MATCH RR-00 - IA-00 
NOT MATCH YT-00 - SR-00 
[] 

请您参考如下方法:

您只需要遍历其中一个字典的键,并检查每个键是否在另一个字典中:

not_installed = [] 
 
for elem in ct_db: 
    if elem in ct_db2: 
        not_installed.append(ct_db[elem] + ct_db2[elem]) 
 
print(not_installed) 

输出:

[237, 423, 290]