2017-10-20 17 views
1

同じキーでも値は異なる2つの辞書があります。私はdictionary1からのすべての値を持つ新しい辞書を作成して、dictionary2の第2の値と合計したいと考えています。1つの辞書の2番目の値を別の辞書のすべての値で集計する

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

私はそれを解決しました。それは、私はdic3にdic1のコピーを作成し、最後の行にこれを行うことができます希望されていない場合は、

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上書きしています:誰もが答えを必要とする場合には、将来のために、これは仕事をしてくれた

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)] 
関連する問題