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

13 python sum list

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

z = [sum(x) for x in zip(c_1, c_2, ...)]
Run Code Online (Sandbox Code Playgroud)

例如:

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

这里 z = [9, 12]

但是如果我们没有c_i定义并且c_1...c_n在列表中有C什么呢?

有没有类似的方法找到z,如果我们只是有C

我希望这很清楚.

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

Ósc*_*pez 28

这样做:

[sum(x) for x in zip(*C)]
Run Code Online (Sandbox Code Playgroud)

在上面,C是列表c_1...c_n.正如评论中的链接所解释的那样(谢谢,@ kevinsa5!):

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

有关其他详细信息,请查看"解压缩参数列表"下的文档,并阅读有关调用的信息(谢谢,@ abarnert!)

  • http://stackoverflow.com/questions/5239856/foggy-on-asterisk-in-python显示星号的作用.我不知道那是件事. (2认同)
  • 非常漂亮和pythonic! (2认同)