13

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ますか?

これが明確であることを願っています。

解決済み: * 演算子とは何なのか疑問に思っていました...ありがとう!

4

2 に答える 2

35

これを行うだけです:

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

上記のCは のリストですc_1...c_nコメントのリンクで説明されているように(ありがとう、@kevinsa5!):

*「splat」演算子です。入力としてリストを受け取り、関数呼び出しで実際の位置引数に展開します。

詳細については、ドキュメントの「引数リストのアンパック」を参照し、呼び出しについてもお読みください(@abarnert に感謝します!)。

于 2013-10-09T02:00:16.787 に答える