Безопасное удаление нескольких ключей из словаря - PullRequest
93 голосов
/ 25 января 2012

Я знаю, чтобы удалить запись, «ключ» из моего словаря. d, безопасно, вы делаете:

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

Однако мне нужно безопасно удалить несколько записей из словаря.Я думал об определении записей в кортеже, поскольку мне нужно будет делать это более одного раза.

entitiesToREmove = ('a', 'b', 'c')
for x in entitiesToRemove:
    if d.has_key(x):
        del d[x]

Однако мне было интересно, есть ли более разумный способ сделать это?

Ответы [ 11 ]

0 голосов
/ 17 мая 2018

Я опоздал на это обсуждение, но для кого-либо ещеРешением может быть создание списка ключей как такового.

k = ['a','b','c','d']

Затем используйте pop () в понимании списка или для цикла, чтобы перебирать ключи и выдавать по одному за раз как таковой.

new_dictionary = [dictionary.pop(x, 'n/a') for x in k]

«Н / Д», если ключ не существует, необходимо вернуть значение по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...