Pythonで辞書のキーに対応する値を更新する方法
Python辞書の値の更新と追加の基本
Pythonの辞書(dict)オブジェクトは、キーと値のペア(key:value)を格納するコレクションです。辞書オブジェクト d において、任意のキー k に関連付けられた値は、d[k] の形式で取得できます。
>>> d={'one':1, 'two':2,'three':3,'four':4}
>>> d['two']
2代入による値の更新
辞書の値を更新するには、d[k]=v という代入式を使用します。この式の動作は、指定したキーがすでに存在するかどうかによって変わります。
- 既存のキーを指定した場合:そのキーに関連付けられた値が新しい値
vに上書きされます。 - 存在しないキーを指定した場合:新しいキーと値のペアが辞書に追加されます。
以下の例では、既存のキー 'two' の値を更新し、その後、新しいキー 'five' を追加しています。
>>> d={'one':1, 'two':2,'three':3,'four':4}
>>> d['two']=22
>>> d
{'one': 1, 'two': 22, 'three': 3, 'four': 4}
>>> d['five']=5
>>> d
{'one': 1, 'two': 22, 'three': 3, 'four': 4, 'five': 5}補足:update()メソッドを使う方法
複数のキーと値を一度に更新・追加したい場合は、update() メソッドも便利です。別の辞書やキーワード引数を渡すことで、まとめて処理できます。
>>> d.update(two=222, six=6)
>>> d
{'one': 1, 'two': 222, 'three': 3, 'four': 4, 'five': 5, 'six': 6}このように、Pythonの辞書では単純な代入操作だけで、既存キーの値の更新と新規キーの追加の両方を直感的に行うことができます。
-
Pythonの辞書(dict)を値で並べ替える方法
Pythonの辞書を値でソートする基本 Pythonの標準ライブラリには、高性能なコンテナデータ型を提供する collections モジュールが含まれています。その中の OrderedDict は辞書のサブクラスで、要素が追加された順序を記憶できるのが特徴です。順序付き辞書を反復処理すると、キーが最初に追加された順番どおりに項目が返されます。 >>> from collections import OrderedDict >>> D = {5:fff, 3:ttt, 1:ooo, 4:bbb, 2:ddd} >>> OrderedDict
-
Pythonで辞書のすべての値を取得・出力する方法
Pythonの辞書(dict)オブジェクトには、すべての値を簡単に取得できるvalues()メソッドが標準で用意されています。このメソッドを呼び出すと、辞書に格納された全ての値が dict_values オブジェクトとして返されます。values()メソッドを使う基本的な方法以下の例では、辞書 D1 のすべての値を values() メソッドで取得しています。戻り値はビューオブジェクトのため、リストとして扱いたい場合は list() 関数で変換すると便利です。>>> D1 = {1:a, 2:b, 3:c} >>> D1.values() dict_valu