Pythonでリストの要素の合計を計算するには、組み込み関数のsum()を使うのが最も簡単で効率的です。本記事では、Pythonのsum()関数の使い方を具体的な例を交えて解説します。
sum()の使い方
Pythonのsum関数は、イテラブル(例えばリストやタプル)の要素の合計を計算して返します。数値型(int、float)の要素を簡単に合計できます。
構文
sum(iterable, start=0)
- iterable: リストやタプルなどの合計を求める対象
- start: 合計の初期値を指定(省略可能、デフォルトは0)
例
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total) # 15
初期値を指定する例
numbers = [1, 2, 3, 4, 5]
total = sum(numbers, 10)
print(total) # 25
注意点
数値型以外の要素が含まれているとエラーになる
sum()は数値型の要素が含まれているイテラブルにのみ使用できます。文字列や異なる型が含まれている場合はTypeErrorが発生します。
items = [1, '2', 3]
print(sum(items)) # TypeError: unsupported operand type(s) for +: 'int' and 'str'
文字列の結合はjoin()を使う
文字列を結合する場合は、sum()ではなくjoin()を使用します。
words = ['Hello', 'World']
print(''.join(words)) # HelloWorld
浮動小数点の精度に注意
大量の浮動小数点数を合計すると、精度が落ちることがあります。高精度が必要な場合は、math.fsum()の使用を検討してください。
import math
numbers = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
print(sum(numbers)) # 0.9999999999999999
print(math.fsum(numbers)) # 1.0
まとめ
Pythonでリスト要素の合計を簡単に求めるにはsum()関数を利用します。初期値を設定したり、高精度計算が必要な場合にはmath.fsum()も検討しましょう。