按值排列两个词典

时间:2016-11-13 19:33:57

标签: python dictionary floating-point sum

我使用的是python 3.5,我试图弄清楚如何按值加总这两个字典。

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

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

这是我试过的

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

这是我想要的输出

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

1 个答案:

答案 0 :(得分:4)

这应该有效:

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

请记住,dict1.values()会返回字典中所有值的列表。