Pythonでsum関数を使う方法について書いています。
最初にsum関数の使い方を解説して、その後に4つのデータ型を渡して、合計値を取得してみました。
載せているコードについては、Pythonのバージョン3.11.0で動作を検証しました。
sum関数の使い方
sum関数を使うと、イテラブルなデータ型を渡して、合計値を取得することができます。
例えば、下記のように使います。
numbers = [1, 2, 3, 10, 22]
total = sum(numbers)
print(total) # 38
numbers
変数に数値を5つ渡して、リストを作りました。
次の処理で、sum関数に作ったリストを引数として渡しています。
これで合計が返ってくるので、total
変数で受け取って出力しました。
出力内容を確認すると、「38
」になりました。
sum関数に渡したリストの全ての数値が合計されました。
初期値を指定する
sum関数で合計を求めるときに、初期値を決めて、そこから足していくことができます。
numbers = [10, 22, 30]
total = sum(numbers, 22)
print(total) # 84
numbers
変数のリストをsum関数に渡しています。
そのときに、第2引数に「22
」を渡していますが、これが足し始める初期値になります。
print関数で、numbers
変数を出力すると、「84
」になりました。
第2引数に渡した「22
」も足されています。
文字列が入っているリストを渡すと?
sum関数に渡すデータに、文字列が含まれているとエラーになります。
numbers = [10, 22, 30, 'test', 2, 3]
total = sum(numbers)
print(total)
上記では、numbers
リストに文字列の「test
」を含みました。
このときには、下記のようにTypeError
が発生してしまいます。
TypeError: unsupported operand type(s) for +: 'int' and 'str'
文字列を含まないように気をつけましょう。
引数と戻り値のまとめ
sum関数の引数と戻り値をまとめます。
引数
第2引数:オプション引数で、渡されたときには、その値も一緒に足していく。
sum(iterable, initialValue)
戻り値
渡したイテラブルなデータが合計された値が返ってくる。
sum関数を使ったサンプルコード4選
sum関数に下記のデータ型を渡して、合計できるか試してみました。
・タプル
・集合
・辞書
リスト
リストの数値をsum関数で足してみます。
numbers = [11, 22, 33, 7]
total = sum(numbers)
print(total) # 73
numbers
変数に数値のリストを作りました。
その後の処理で、sum関数に渡して、合計を出力しました。
「73
」になって、合計されていることが確認できました。
タプル
タプルの数値をsum関数で足してみます。
numbers = (2, 12, 30, 7, 5)
total = sum(numbers)
print(total) # 56
numbers
変数に数値のタプルを作りました。
その後の処理で、sum関数に渡して、合計を出力しました。
「56
」になって、合計されていることが確認できました。
集合
集合の数値をsum関数で足してみます。
numbers = {3, 5, 10, 7, 1}
total = sum(numbers)
print(total) # 26
numbers
変数に数値の集合を作りました。
その後の処理で、sum関数に渡して、合計を出力しました。
「26
」になって、合計されていることが確認できました。
辞書
辞書の数値をsum関数で足してみます。
辞書はキーが数値だったときに、数値のみ足されて合計されます。
numbers = {10: 'apple', 7: 'banana', 22: 'grape'}
total = sum(numbers)
print(total) # 39
numbers
変数に、キーが数値の辞書を作りました。
その後の処理で、sum関数に渡して、キーの合計を出力しました。
total
変数にキーの合計のみが返ってきます。
「39
」になって、合計されていることが確認できました。
sum関数の使い方まとめ
今回はPythonのsum関数の使い方について書きました。
記事の内容をまとめると、下記になります。
・第1引数が必須でイテラブルなデータを渡す、第2引数はオプションで足し始める初期値を渡す。
・文字列が入っているデータを渡すと、`TypeError`エラーになる。
・リスト/タプル/集合/辞書でsum関数を使って、合計値を取得できることが確認できた。
コメント