N的总和列出了元素方式的python

时间:2013-10-09 01:58:21

标签: python list sum

有没有一种简单的方法来计算python中N个列表的元素总和?我知道如果我们有n个列表已定义(调用第i个列表c_i),我们可以这样做:

z = [sum(x) for x in zip(c_1, c_2, ...)]

例如:

c1 = [1,2]
c2 = [3,4]
c3 = [5,6]
z  = [sum(x) for x in zip(c1,c2,c3)]

此处z = [9, 12]

但是,如果我们没有定义c_i而在列表c_1...c_n中有C,该怎么办?

如果我们只有z

,是否有类似方法可以找到C

我希望这很清楚。

已解决:我想知道*运营商的全部内容......谢谢!

2 个答案:

答案 0 :(得分:25)

这样做:

[sum(x) for x in zip(*C)]

在上文中,Cc_1...c_n的列表。正如评论中的link所述(谢谢,@ kevinsa5!):

  

*是“splat”运算符:它将一个列表作为输入,并将其扩展为函数调用中的实际位置参数。

有关其他详细信息,请查看“解压缩参数列表”下的documentation,并阅读calls(感谢@abarnert!)

答案 1 :(得分:0)

这与ÓscarLópez的答案没有什么不同,但使用itertools.imap而不是列表理解。

from itertools import imap
list(imap(sum, zip(*C))