将一个字典中的第二个值与另一个字典中的所有值相加

2024-05-23 20:14:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个字典,有相同的键,但值不同。我想用dictionary1的所有值和dictionary2的第二个值做一个新的dictionary。你知道吗

input:
dic1 = { 'ENST1' : [ 33, 55, 66, 77 ], 'ENST2' : [ 55, 32, 45 ] }
dic2 = { 'ENST1' : [ 'abc', 100, 200 ], 'ENST2' : [ 'cdg', 200, 300 ] }

output:
dic3 = { 'ENST1' : [ 133, 155, 166, 177 ] , [ 'ENST2' : 255, 232, 245 ] }

我使用的是python3.6。你知道吗


Tags: inputoutputdictionary字典cdgabcdic2dictionary2
2条回答

我解决了。为了将来,如果有人需要答案,这就做到了:

for key in dic1:
    for i in range(0,len(dic1[key])):
        if len(dic1[key]) > 0:
            dic1[key][i] = dic1[key][i] + dic2[key][1]

我已经直接重写了dic1,如果不需要,我可以将dic1复制到dic3中,并在最后一行执行此操作:

dic3[key][i] = dic1[key][i] + dic2[key][1]

此版本也适用于:

dic3 = {}

for (k,v), (k2,v2) in zip(dic1.items(), dic2.items()):
    dic3[k] = [x+y for x, y in zip(v, v2)]

相关问题 更多 >