Pythonでリストの合計を求める方法|sum()の使い方を初心者向けに解説

Pythonでリスト内の数値を合計するには、組み込み関数のsum()を使います。

複雑な処理を書く必要はなく、合計したいリストをsum()に渡すだけです。

この記事の内容

sum()でリストの合計を求める

次のリストに入っている数値を合計してみましょう。

numbers = [10, 20, 30, 40]

total = sum(numbers)

print(total)

実行結果は次のとおりです。

100

sum(numbers)は、リストnumbersの要素を先頭から順番に足し合わせます。

今回の処理は、次の計算をまとめて行っていると考えると分かりやすいでしょう。

10 + 20 + 30 + 40 = 100

Pythonで数値のリストを合計するなら、基本的にはsum()を使うのが最も簡単です。

小数を含むリストも合計できる

sum()は、整数だけでなく小数を含むリストにも使用できます。

prices = [120.5, 300.0, 89.5]

total = sum(prices)

print(total)

実行結果は次のとおりです。

510.0

買い物金額、点数、作業時間など、複数の数値をまとめて計算するときに利用できます。

合計値に最初の数値を加える

sum()の第2引数を指定すると、リストの合計に任意の数値を加えられます。

numbers = [10, 20, 30]

total = sum(numbers, 100)

print(total)

実行結果は次のとおりです。

160

この例では、最初の値を100として、そこにリスト内の10、20、30を加えています。

つまり、次のように計算されています。

100 + 10 + 20 + 30 = 160

ただし、単純にリスト内の数値だけを合計したい場合、第2引数は必要ありません。

空のリストを合計すると0になる

要素が入っていない空のリストにsum()を使っても、エラーにはなりません。

numbers = []

total = sum(numbers)

print(total)

実行結果は次のとおりです。

0

足し合わせる数値が1つもないため、結果は0になります。

リストが空になる可能性がある処理でも、そのままsum()を使用できます。

文字列が含まれているとエラーになる

sum()で合計できるのは、基本的に整数や小数などの数値です。

リストの中に文字列が含まれていると、TypeErrorが発生します。

numbers = [10, "20", 30]

total = sum(numbers)

print(total)

"20"は数字のように見えますが、引用符で囲まれているため文字列です。数値の20とは別のデータとして扱われます。

文字列として保存された数字は、int()を使って整数に変換してから合計します。

numbers = ["10", "20", "30"]

converted_numbers = [int(number) for number in numbers]
total = sum(converted_numbers)

print(total)

実行結果は次のとおりです。

60

sum()でエラーが発生したときは、リストの中に文字列や別の種類のデータが混ざっていないか確認してください。

for文でも合計できる

sum()が内部で何をしているのかを理解するため、for文で同じ処理を書いてみます。

numbers = [10, 20, 30, 40]
total = 0

for number in numbers:
    total += number

print(total)

totalを0から始め、リストから取り出した数値を1つずつ加えています。

この書き方でも結果は100になりますが、単純に合計を求めるだけならsum()のほうが短く、処理の目的も伝わりやすくなります。

まとめ

Pythonでリストの合計を求めるには、sum()を使用します。

numbers = [10, 20, 30]
total = sum(numbers)

print(total)

数値だけが入ったリストなら、これだけで合計を取得できます。

文字列が含まれている場合はそのまま計算できないため、int()などを使って数値に変換してからsum()に渡しましょう。

この記事が役に立ったらシェア
  • URLをコピーしました!
この記事の内容