1. はじめに
Pythonで数値の合計値を求めるには、sum()
関数が最もよく使われます。この関数を使えば、リストやタプルといった反復可能なオブジェクトの要素を簡単に合計することができます。
本記事では、「Python|合計値を求める:sum()」というテーマで、sum()
関数の使い方から、実務での活用例、初心者がつまずきやすいポイントまで丁寧に解説します。
検索から訪れたPython初学者の方でも安心して学べるよう、コードにはコメントをつけ、実行結果も併せて掲載します。
2. Pythonの sum() 関数の基本解説
2-1. sum()関数とは?
sum()
は、Pythonの組み込み関数のひとつで、リストやタプル、集合などの「反復可能なオブジェクト(iterable)」に含まれる数値の合計を求めるのに使用されます。
2-2. 基本的な使い方
以下に、sum()
関数の最も基本的な使用例を示します。
# リストの合計を求める
numbers = [10, 20, 30, 40]
total = sum(numbers)
print("合計値:", total)
実行結果:
合計値: 100
2-3. タプルや集合にも使える
sum()関数はリストだけでなく、タプルや集合(set)にも使用できます。
# タプルの合計
tuple_data = (5, 10, 15)
print(sum(tuple_data))
# セットの合計
set_data = {1, 2, 3, 4}
print(sum(set_data))
実行結果:
30
10
3. よくある使い方・応用例
3-1. 初期値を指定する
sum()
には第2引数で「初期値」を指定することができます。これにより、合計値に特定の値を加算することができます。
# 初期値を指定して合計
numbers = [1, 2, 3]
total = sum(numbers, 10) # 初期値10
print(total)
実行結果:
16
3-2. 内包表記と組み合わせる
sum()
はリスト内包表記と組み合わせることで、より柔軟な集計が可能です。例えば、条件に一致した数値だけを合計できます。
# 偶数のみ合計
numbers = [1, 2, 3, 4, 5, 6]
even_sum = sum(x for x in numbers if x % 2 == 0)
print(even_sum)
実行結果:
12
3-3. 辞書の値を合計する
辞書型のデータから、値のみを取り出して合計することも可能です。
# 辞書の値の合計
sales = {"January": 1000, "February": 1200, "March": 1100}
total_sales = sum(sales.values())
print("売上合計:", total_sales)
実行結果:
売上合計: 3300
4. 注意点・エラー対策
4-1. 要素が数値以外の場合はエラー
sum()
は、数値以外(例:文字列など)を含むリストには使えません。
# エラーになる例
data = [10, "20", 30]
print(sum(data)) # TypeError
実行結果:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
対策: すべての要素が数値かどうかを事前に確認・変換しておきましょう。
4-2. 空のリストは0を返す
空のリストやタプルに対してsum()を使った場合、0が返されます(エラーにはなりません)。
# 空のリストにsum()
empty_list = []
print(sum(empty_list))
実行結果:
0
実務では: データの集計処理で「件数0」のときに0が返るのは便利ですが、0かどうかで処理分岐する際には注意が必要です。
5. まとめ
sum()
関数はリストやタプルなどから合計値を求めるための基本的な組み込み関数- 初期値や内包表記、辞書の値との組み合わせなど、柔軟な使い方が可能
- 数値以外のデータを混在させないよう注意する
こんな場面でも使える!:集計処理、統計、CSVデータの集約など、日々のデータ分析・業務処理にも役立ちます。
学習のコツとしては、sum()
と一緒にmap()
やfilter()
などの関数型ツールを覚えると、さらに応用の幅が広がります。