Tips
今日の開発Tips(2025-07-24)
Pythonの辞書を効率的に扱うためのTipsを紹介します。 `dict.get()`メソッドと`setdefault()`メソッドを理解することで、コードを簡潔に、かつエラーを避けながら記述することができます。これらは、辞書にキーが存在しない場合の処理をスマートに書く上で非常に役立ちます。
Python辞書の安全なアクセスと初期化
dict.get()メソッドとsetdefault()メソッドは、辞書にキーが存在しない場合の処理を安全に、かつ効率的に行うために役立ちます。
dict.get(key, default=None)
このメソッドは、指定したキーが存在する場合は対応する値を返し、存在しない場合はdefault引数の値を返します。default引数は省略可能で、省略した場合はNoneが返されます。
my_dict = {"a": 1, "b": 2}
value_a = my_dict.get("a") # value_a = 1
value_c = my_dict.get("c") # value_c = None
value_d = my_dict.get("d", 0) # value_d = 0
dict.setdefault(key, default)
このメソッドは、指定したキーが存在する場合は対応する値を返し、存在しない場合はdefault引数の値を辞書に追加し、その値を返します。
my_dict = {"a": 1, "b": 2}
value_a = my_dict.setdefault("a", 3) # value_a = 1
value_c = my_dict.setdefault("c", 3) # value_c = 3, my_dict = {"a": 1, "b": 2, "c": 3}
注意点
setdefault()メソッドは辞書を直接変更します。変更を意図しない場合はget()メソッドを使用しましょう。
おすすめポイント
get()とsetdefault()は、if key in my_dict:のような条件分岐を避けることができ、コードをより簡潔で読みやすくします。また、KeyError例外が発生するのを防ぎ、より堅牢なコードを作成することができます。特に、外部からデータを受け取る場合や、辞書を初期化する際に非常に便利です。