Python 字典求值和

0 投票
5 回答
559 浏览
提问于 2025-04-16 21:32

我正在使用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 就是你的字典。

撰写回答