Ответ 1
Вы можете сделать это:
d.pop("", None)
d.pop(None, None)
Словарь Pops со значением по умолчанию, которое вы игнорируете.
У меня есть python dict, и я хотел бы молча удалить ключи None
и ''
из моего словаря, поэтому я придумал что-то вроде этого:
try:
del my_dict[None]
except KeyError:
pass
try:
del my_dict['']
except KeyError:
pass
Как вы видите, это менее читаемо, и это заставляет меня писать дубликат кода. Итак, я хочу знать, существует ли метод на python для удаления любого ключа из файла без сброса ключевой ошибки?
Вы можете сделать это:
d.pop("", None)
d.pop(None, None)
Словарь Pops со значением по умолчанию, которое вы игнорируете.
Вы можете использовать метод dict.pop
и проигнорировать результат:
for key in [None, '']:
d.pop(key, None)
Вы можете попробовать:
d = dict((k, v) for k,v in d.items() if k is not None and k != '')
или удалить все пустые клавиши
d = dict((k, v) for k,v in d.items() if k )
Следующие будут удалять ключи, если они присутствуют, и не будут вызывать ошибку:
for d in [None, '']:
if d in my_dict:
del my_dict[d]