Pythonの辞書は非常に便利なデータ構造ですが、存在しないキーにアクセスしようとするとKeyError
が発生します。これを避けるために、辞書にデフォルト値を設定する方法があります。
dict.getメソッド
dict.get(key, default)
メソッドを使用すると、キーが存在しない場合にデフォルト値を返すことができます。
d = {"a": 1, "b": 2}
x = d.get("a", 5) # xは1
y = d.get("c", 6) # yは6
defaultdict
collections
モジュールのdefaultdict
を使用すると、存在しないキーに対して自動的にデフォルト値を生成する辞書を作成できます。
from collections import defaultdict
# デフォルト値が0の辞書
a_dct = defaultdict(int)
# デフォルト値が0.0の辞書
a_dct = defaultdict(float)
# デフォルト値が空文字列の辞書
a_dct = defaultdict(str)
また、defaultdict
には任意の関数を渡すこともできます。
def a():
return 4
b = defaultdict(a, key="some_value") # 'absent'キーの値は4
これらの方法を使えば、Pythonの辞書で存在しないキーに対応することが容易になります。適切な方法を選んで、コードの可読性と効率性を向上させましょう。