Как удалить ключ и его значение из словаря?

Суть такая, я могу добавлять в словарь много ключей и значений, но если такой ключ и такое значение уже есть в словаре, мне нужно их удалять.

Kак такое можно сделать?


Ответы (2 шт):

Автор решения: MaxU

Безопасный способ удаления ключа и значения - даже если такой ключ отсутствует , не будет исключительной ситуации (exception):

_ = dict_.pop(key, None)

Пример:

d = dict(a=1, b=2, c=3)
print(d)
_ = d.pop("b")
print(d)
_ = d.pop("blah", None)
print(d)

Вывод:

{'a': 1, 'b': 2, 'c': 3}
{'a': 1, 'c': 3}
{'a': 1, 'c': 3}
→ Ссылка
Автор решения: CrazyElf

Вариантов есть несколько. Про pop уже написали. Но традиционный всё-таки вариант через del. Приведу варианты с проверкой наличия ключа и значения:

d = {'a': 1, 'b': 2, 'c': 3}
if 'a' in d and d['a'] == 1:
    del d['a']

Или:

if d.get('a') == 1:
    del d['a']
→ Ссылка