【Python】sumで配列を合計する

スポンサーリンク

Pythonでは「sum」関数を使って合計値を取得することができます。

今回はリスト(配列)の合計値「sum」の使い方を解説します。

合計値 sumを取得する

Pythonでリスト(配列)の合計値を求めるには「sum」関数を使います。

例1. 合計値(整数)を求めるsum

num = [1, 2, 3]
s_num = sum(num)
print(s_num)
#[結果] 6

Pythonでsum関数を使って配列の合計値を求めました。

配列「num」の「1,2,3」を「sum」を使って「1 + 2 + 3」の合計し、合計値「6」を取得できました。

例2. 合計値(小数)を求めるsum

num = [0.1, 0.1, 0.1]
s_num = sum(num)
print(num)
#[結果] 0.30000000000000004

Pythonでsum関数を使って小数の合計値を求めました。

「0.1+0.1+0.1=0.3」となりませんでした。浮動小数点数で計算されてしまいます。

sumで少数を合計すると、正確に合計値をもとめることはできませんので注意してください

import math
num = [0.1, 0.1, 0.1]
s_num = math.fsum(num)
print(num)
#[結果] 0.30000000000000004

Pythonのmathモジュールに「fsum」があります。こちらは「sum」よりはやや正確に小数計算できますが、やはり上の例ではうまく計算できません。

Pythonの「sum」は整数を合計するのにとどめておいた方がよいですね。小数計算は「Decimal」に変換して「For in」で合計していくしかなさそうです。

参考ページhttps://docs.python.jp/3/library/functions.html#sum

参考ぺージPythonで文字列を数値型(int・float・decimal)に型変換する

以上、Pythonでsum関数を使って合計値を取得する方法でした。

コメント