2017-10-20 40 views
1

我有兩個詞典,它們具有相同的鍵但不同的值。我想用dictionary1中的所有值創建一個新字典,並與dictionary2的第二個值進行彙總。從一本詞典中總結出第二個值與另一個詞典中的所有值

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 ] } 

我正在使用python 3.6。

+0

你能否詳細說明你已經嘗試過? – thatrockbottomprogrammer

+0

雖然你的價值不加起來? – kbball

回答

0

我解決了它。對於未來,如果有人需要的答案,這做的工作:

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] 
0

這個版本也將工作:

dic3 = {} 

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