将字典之间的值求和

Lui*_*que 1 python dictionary

目标:

每当密钥相同时,我都试图对dict ct_db和ct_db2之间的值求和。

例:

RR-00 == RR-00,所以设为14 + 223

问题:

不会比较所有字典键,遍历该字典后会立即终止操作,但是由于键顺序混乱,因此无法进行正确的计算。

脚本:

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)
Run Code Online (Sandbox Code Playgroud)

输出:

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
[]
Run Code Online (Sandbox Code Playgroud)

MrG*_*eek 5

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

not_installed = []

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

print(not_installed)
Run Code Online (Sandbox Code Playgroud)

输出:

[237, 423, 290]
Run Code Online (Sandbox Code Playgroud)