Tips

今日の開発Tips(2025-07-10)

Pythonでの辞書オブジェクトの効率的な操作は、コードの可読性とパフォーマンスに大きく影響します。 `get()`メソッドと`setdefault()`メソッドは、キーの存在チェックや値のデフォルト設定を簡潔に記述でき、エラーを減らし、コードを高速化します。 これらのメソッドを効果的に活用することで、より洗練されたPythonコードを作成できます。

Python辞書におけるget()setdefault()の活用

get()メソッドは、指定したキーが存在する場合は対応する値を返し、存在しない場合はデフォルト値を返します。 setdefault()メソッドは、指定したキーが存在しない場合のみ、指定した値をそのキーに設定し、そのキーに対応する値を返します。

my_dict = {"a": 1, "b": 2}

# get()メソッドの例
value_a = my_dict.get("a", 0)  # キー"a"が存在するので、1が返る
value_c = my_dict.get("c", 0)  # キー"c"が存在しないので、デフォルト値0が返る
print(f"value_a: {value_a}, value_c: {value_c}")

# setdefault()メソッドの例
my_dict.setdefault("d", 3)  # キー"d"が存在しないので、3が設定され、3が返る
my_dict.setdefault("a", 4)  # キー"a"は既に存在するので、既存の値1が返る
print(f"my_dict: {my_dict}")

get()はキーの存在チェックと値の取得を同時に行うのに対し、setdefault()はキーが存在しない場合にのみ値を設定する点が異なります。 try...exceptを用いたキーの存在チェックと比較して、これらのメソッドはよりPythonicで、可読性の高いコードになります。 特に、デフォルト値を設定する必要がある場合、setdefault()は非常に便利です。 大量の辞書操作を行う際には、パフォーマンスの向上にも繋がります。