pythonのdictから値を取得する時にデフォルト値を設定する

今は当たり前のように使っているテクニックですが、初めて知った時は感動したので紹介。

ドキュメントはここ

pythonの辞書オブジェクトから値を取得する時、[ ]を使う方法と、
get()を使う方法があります。


sample_dict = {
    'apple': 'リンゴ',
    'orange': 'オレンジ'
}

print(sample_dict['apple'])  # 'リンゴ'
print(sample_dict.get('orange'))  # 'オレンジ'

タイプ数が少ないので[ ]の方を好むかたが多いと思うのですが、
getの方には、引数がkeyの中に存在しなかった時の初期値を指定できるメリットがあります。

例えば、
sample_dict["grape"] は keyErrorが発生してしまいます。
しかし、
sample_dict.get("grape")はNoneを返しますし、
sample_dict.get("grape", "未定義")とすると、
2個目の引数である、”未定義”を返してくれます。

エラー処理もいらないし、事前に辞書に取得しようとしているkeyが含まれているか確認する必要もなくなり、
非常に便利です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です