【Python】辞書内のすべての値の合計を求める3つの方法
この記事では、Pythonを使って辞書(dict)に格納されたすべての値の合計を求める方法を解説します。
課題
与えられた辞書に含まれるすべての値を取り出し、その合計を計算して表示します。ここでは、3つの異なるアプローチを紹介します。
方法1:辞書を直接イテレートして合計を計算する
for文で辞書を直接ループすると、キーが順番に取り出されます。そのキーを使って各値にアクセスし、合計を積み上げていきます。
サンプルコード
# 合計を計算する関数
def calc_sum(my_dict):
total = 0
for key in my_dict:
total += my_dict[key]
return total
# 動作確認
my_dict = {'T': 3, 'U': 2, 'O': 4, 'R': 5}
print("辞書の値の合計 :", calc_sum(my_dict))
実行結果
辞書の値の合計 : 14
方法2:values()メソッドを使って合計を計算する
dict.values()は、辞書のすべての値を返すビューオブジェクトです。これを直接ループすることで、より簡潔に合計を求められます。
サンプルコード
# 合計を計算する関数
def calc_sum(my_dict):
total = 0
for value in my_dict.values():
total += value
return total
# 動作確認
my_dict = {'T': 3, 'U': 2, 'O': 4, 'R': 5}
print("辞書の値の合計 :", calc_sum(my_dict))
実行結果
辞書の値の合計 : 14
方法3:keys()メソッドを使って合計を計算する
dict.keys()でキーの一覧を明示的に取得し、それぞれのキーに対応する値を参照しながら合計を計算する方法です。方法1とほぼ同じ動作ですが、処理の意図が明確になるという利点があります。
サンプルコード
# 合計を計算する関数
def calc_sum(my_dict):
total = 0
for key in my_dict.keys():
total += my_dict[key]
return total
# 動作確認
my_dict = {'T': 3, 'U': 2, 'O': 4, 'R': 5}
print("辞書の値の合計 :", calc_sum(my_dict))
実行結果
辞書の値の合計 : 14
補足:sum()関数を使えば1行で書ける
組み込み関数sum()とvalues()を組み合わせると、合計の計算をさらにシンプルに記述できます。
my_dict = {'T': 3, 'U': 2, 'O': 4, 'R': 5}
total = sum(my_dict.values())
print("辞書の値の合計 :", total) # 結果:14
まとめ
この記事では、Pythonの辞書に含まれるすべての値の合計を求める3つの方法を学びました。キーを直接イテレートする方法、values()を使う方法、keys()を使う方法のいずれでも同じ結果が得られます。なお、変数名に組み込み型のdictを使うと上書きされてしまうため、実際のコードでは避けましょう。実務では、可読性の高いsum()とvalues()を組み合わせた書き方がおすすめです。
-
Pythonで配列の合計を求める方法を徹底解説
この記事では、Pythonを使って配列(リスト)の合計を求める方法について詳しく解説します。 問題文 問題: 配列が与えられたとき、その配列に含まれるすべての要素の合計を計算してください。 最も基本的なアプローチは、配列全体を走査し、各インデックスの要素を順番に加算していく方法です。ここでは、まず組み込み関数を活用したシンプルな実装例を見ていきましょう。 方法1:組み込み関数 sum() を使う Pythonには、イテラブルなオブジェクトの合計を一発で計算できる組み込み関数 sum() が用意されています。これを使えば、コードは非常に簡潔になります。 サンプルコード # 合計を求める関数 de
-
Pythonで配列(リスト)の合計を求める方法をわかりやすく解説
この記事では、配列(リスト)の合計値を求めるという問題に対して、Pythonでの解決策とアプローチをわかりやすく解説します。 問題の定義 配列が入力として与えられたとき、その配列に含まれるすべての要素の合計を計算することを目標とします。 例えば、[1, 2, 3, 4, 5] という配列が与えられた場合、出力は 15 になります。 アプローチ1:ループを使った素朴な方法(総当たり法) 最も基本的な方法は、リストを先頭から順に走査し、各要素を合計用の変数に加算していくやり方です。手順は以下の通りです。 合計を格納する変数を 0 で初期化します。 for ループでリストの各要素を取り出し、順番に