2016-11-13 9 views
1

私はpython 3.5を使用しています。これらの2つの辞書を値で合計する方法を理解しようとしています。値で2つの辞書を合計します

def sommadizionari(dict1, dict2): 
    lista = {k: [dict1[k][0] + dict2[k][0]] for k in dict1} 
    return lista 

は、すべてのことdict1.values()リターンリストを覚えておいてください:ここで

{0: [4.3856601065585343e-38], 1: [1.9276743522657556e-08], 2: [3.30408817728935e-147]} 

{0: [2.3808784712284318e-28], 1: [1.121936127843438e-67], 2: [3.5039317933946127e-96]} 

は、私はこれはこれは動作するはずです私の所望の出力

{0: [4.3856601065585343e-38+2.3808784712284318e-28], 1: [1.9276743522657556e-08+1.121936127843438e-67], 2: [3.30408817728935e-147+3.5039317933946127e-96]} 
+0

各ディクテーションに3つ以上のアイテムがある場合、2つ以上のディクティットがある場合はどうなりますか?ありがとう! – RomanPerekhrest

答えて

4

ある

def sommadizionari (dict1,dict2): 
    lista={ k: [ dict1.values() + dict2.values()] for k in dict1 } 
    return lista 

を試してきたものです辞書の値

+0

!しかし、これは合計ではなく最初の辞書だけを表示します。 –

+0

@DavideDiMenna問題が(問題の場合) '2.3808784712284318e-28'は' 4.3856601065585343e-38'よりはるかに大きいです。この数字の合計は '2.3808784712284318e-28'に非常に近いです –

関連する問題