Python 字典求值和
我正在使用Python 2.7,并且我有一个很大的字典,它大概长这样:
{J: [92704, 238476902378, 32490872394, 234798327, 2390470], M: [32974097, 237407, 3248707, 32847987, 34879], Z: [8237, 328947, 239487, 234, 182673]}
我该如何根据值来求和,创建一个新的字典,这个字典会把每个字典的第一个值相加,然后是第二个值,依此类推。就像这样:
{FirstValues: J[0]+M[0]+Z[0]}
等等。
5 个回答
1
我不知道你为什么需要字典作为输出,但这里有一个:
dict(enumerate( [sum(x) for x in zip(*d.values())] ))
1
print [sum(row) for row in zip(*yourdict.values())]
yourdict.values()
这个部分会获取字典里所有的列表,接着 zip(* )
会把每个列表的第一个元素、第二个元素等等分别放在一起,最后 sum
会把每一组的元素加起来。
3
In [4]: {'FirstValues': sum(e[0] for e in d.itervalues())}
Out[4]: {'FirstValues': 33075038}
这里的 d
就是你的字典。