1. ホーム
  2. python

[解決済み] 辞書から複数のキーを安全に削除する

2022-04-23 01:51:08

質問

エントリーを削除する方法は知っています。 'key' 私の辞書から d を、安全に。そうでしょう

if d.has_key('key'):
    del d['key']

しかし、辞書から複数のエントリを安全に削除する必要があります。 この処理を複数回行う必要があるため、エントリーをタプルで定義しようと考えていました。

entities_to_remove = ('a', 'b', 'c')
for x in entities_to_remove:
    if x in d:
        del d[x]

しかし、もっとスマートな方法はないものだろうか。

どのように解決するのですか?

こんな感じでいいんじゃないでしょうか。

entries = ('a', 'b', 'c')
the_dict = {'b': 'foo'}

def entries_to_remove(entries, the_dict):
    for key in entries:
        if key in the_dict:
            del the_dict[key]

よりコンパクトなバージョンは、mattbornskiによって、次のように提供されました。 dict.pop()