Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで辞書の値を合計する方法をわかりやすく解説

Pythonの辞書(dict)に格納された値の合計を求めるのは非常に簡単です。最も基本的な方法は、dict.values()メソッドで辞書のすべての値を取得し、組み込み関数のsum()に渡すだけです。

基本の方法:dict.values() と sum() を使う

まずは最もシンプルな例を見てみましょう。次のコードでは、3つのキーと値を持つ辞書の値をすべて合計しています。

d = {
    'foo': 10,
    'bar': 20,
    'baz': 30
}
print(sum(d.values()))

実行結果

このコードを実行すると、以下の出力が得られます。

60

別の方法:forループで合計する

sum()関数を使わずに、forループで値を1つずつ加算していく方法もあります。処理の流れが明確になり、初心者にも理解しやすい書き方です。

d = {
    'foo': 10,
    'bar': 20,
    'baz': 30
}

total = 0
for value in d.values():
    total += value

print(total)  # 60

注意点:値は数値である必要がある

sum()+演算子で合計を求める場合、辞書の値はすべて数値型(int や float)である必要があります。文字列など数値以外の値が含まれていると、TypeErrorが発生するので注意しましょう。

d = {'a': 10, 'b': '20'}
# print(sum(d.values()))  # TypeError が発生する

このような場合は、条件分岐で数値のみを対象にするか、事前にデータ構造を見直すことをおすすめします。

まとめ

  • 辞書の値の合計は sum(d.values()) の1行で求められる
  • forループを使えば処理の流れを明示的に記述できる
  • 値が数値型でないと TypeError になるため注意が必要

日常的なデータ集計や統計処理において、辞書の値の合計を求める操作はよく使われます。sum()values()の組み合わせはPythonらしい簡潔な書き方なので、ぜひ覚えておきましょう。

  1. Pythonで辞書のすべての値を取得・出力する方法

    Pythonの辞書(dict)オブジェクトには、すべての値を簡単に取得できるvalues()メソッドが標準で用意されています。このメソッドを呼び出すと、辞書に格納された全ての値が dict_values オブジェクトとして返されます。values()メソッドを使う基本的な方法以下の例では、辞書 D1 のすべての値を values() メソッドで取得しています。戻り値はビューオブジェクトのため、リストとして扱いたい場合は list() 関数で変換すると便利です。>>> D1 = {1:a, 2:b, 3:c} >>> D1.values() dict_valu

  2. Pythonで文字列を辞書(dict)に変換する方法|ast.literal_evalとjson.loadsの使い分け

    Pythonでは、文字列形式で表現された辞書データを実際のdictオブジェクトに変換したい場面がよくあります。主な方法としては、標準ライブラリの ast.literal_eval() を使う方法と、json モジュールを使う方法の2つがあります。それぞれの特徴と使い方を詳しく見ていきましょう。 方法1:ast.literal_eval() を使う ast.literal_eval() は、文字列をPythonの式として安全に評価する関数です。任意のコードを実行できてしまう eval() とは異なり、リテラル構造以外は評価しないため、セキュリティ面でも安心して利用できます。 評価できるのは、文