字典值的列元素的总和由Python中的列表组成

时间:2014-01-13 07:52:23

标签: dictionary python-3.3

我有一本字典如下

d = {0:[1,2,3], 1:[2,3,4], 2:[3,4,5], 3:[4,5,6]}

什么是Python中最紧凑的形式,用于对列表中的字典值的相同列元素求和,或者如何从字典值中获得以下结果?

[(1+2+3+4), (2+3+4+5), (3+4+5+6)]=[10,14,18]

1 个答案:

答案 0 :(得分:4)

没有NumPy

>>> d
{0: [1, 2, 3], 1: [2, 3, 4], 2: [3, 4, 5], 3: [4, 5, 6]}
>>> map(sum, zip(*d.values()))
[10, 14, 18]

使用NumPy

>>> import numpy as np
>>> d
{0: [1, 2, 3], 1: [2, 3, 4], 2: [3, 4, 5], 3: [4, 5, 6]}
>>> map(np.sum, zip(*d.values()))
[10, 14, 18]