Как удалить ключ и его значение из словаря?
Суть такая, я могу добавлять в словарь много ключей и значений, но если такой ключ и такое значение уже есть в словаре, мне нужно их удалять.
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']