辞書にキーが存在する場合は、それを削除したいと思います。現在、次のコードを使用しています。
if key in my_dict:
del my_dict[key]
ステートメントがないと、キーが存在しないif
場合にコードが例外を発生させます。これをもっと簡単に処理するにはどうすればよいでしょうか?KeyError
見る辞書から要素を削除する辞書からキーを削除する問題に対するより一般的なアプローチ(変更されたコピーを生成するものを含む)
ベストアンサー1
辞書にあるかどうかに関係なくキーを削除するには、2つの引数の形式を使用します。dict.pop()
:
my_dict.pop('key', None)
辞書に が存在するmy_dict[key]
場合は を返し、そうでない場合は を返します。2 番目のパラメータが指定されておらず (つまり)、存在しない場合は が発生します。key
None
my_dict.pop('key')
key
KeyError
存在することが保証されているキーを削除するには、
del my_dict['key']
KeyError
キーが辞書にない場合は、エラーが発生します。