Sum一个列表列表以获得一个Sum list Python

2024-06-06 23:28:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个define a helper函数,该函数对列表列表求和,从而得到一个sum列表。在

例如:

[[1,2,3],[1,2,3],[2,3,4]]

结果是:

^{pr2}$

我在另一个工作岗位上发现了这个:

[sum(i) for i in zip(*listoflists)]

我需要把它转换成一个定义好的函数。这是我目前所拥有的,但不起作用。在

def addhours(listoflists):
    for list in zip(*listoflists):
        newsum = sum (list)
return newsum

Tags: 函数inhelper列表for定义defzip
2条回答

把理解放在函数里面。(使用return

>>> def addhours(listoflists):
...     return [sum(lst) for lst in zip(*listoflists)]
...
>>> addhours([[1,2,3],[1,2,3],[2,3,4]])
[4, 7, 10]

为什么你的代码不起作用?在

^{pr2}$

你需要一个列表来保存金额作为项目。在

def addhours(listoflists):
    result = []
    for lst in zip(*listoflists):
        result.append(sum(lst)) # Append to the list instead of overwriting.
    return result

顺便说一句,不要用list作为变量名。它隐藏了内置函数^{}。在

由于函数非常小,您还可以使用匿名定义:

>>> addhours = lambda l: [sum(i) for i in zip(*l)]
>>> addhours([[1,2,3],[1,2,3],[2,3,4]])
>>> [4,7,10]

相关问题 更多 >