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(s_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(s_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関数を使って合計値を取得する方法でした。
コメント