Pythonで数値リストを合計する [重複] 質問する

Pythonで数値リストを合計する [重複] 質問する

次のような数字のリストがあるとします。

[1, 2, 3, 4, 5, ...]

合計額を計算するにはどうすればよいですか?

1 + 2 + 3 + 4 + 5 + ...

ペアワイズ平均を計算するにはどうすればいいですか?

[(1+2)/2, (2+3)/2, (3+4)/2, (4+5)/2, ...]

ベストアンサー1

質問1:

数値のリストを合計するには、sum:

xs = [1, 2, 3, 4, 5]
print(sum(xs))

出力は次のようになります:

15

質問2:

つまり、(要素 0 + 要素 1) / 2、(要素 1 + 要素 2) / 2、... というようになります。

2 つのリストを作成します。1 つは最初の要素を除くすべての要素のリスト、もう 1 つは最後の要素を除くすべての要素のリストです。必要な平均は、2 つのリストから取得した各ペアの平均です。2zipつのリストからペアを取得するには、を使用します。

入力値が整数であっても、結果に小数点を表示したいとお考えだと思います。デフォルトでは、Python は整数除算を行います。つまり、余りは切り捨てられます。端から端まで除算するには、浮動小数点数を使用する必要があります。幸い、int を float で除算すると float が生成されるため、2.0除数には ではなく を使用します2

したがって:

averages = [(x + y) / 2.0 for (x, y) in zip(my_list[:-1], my_list[1:])]

おすすめ記事