У меня есть проект, где я должен делать это очень часто:
if "something" in dict:
some_var = dict["something"]
del dict["something"]
else:
error_handler_or_other_stuff()
Однако у меня есть идея использовать это:
try:
some_var = dict.pop("something")
except KeyError:
error_handler_or_other_stuff()
У меня вопрос: в общем, как "быстро" попробовать - кроме конструкций для обработки исключений? Можно ли использовать его часто, или все же делать это быстрее «вручную». Также иногда у меня возникает ситуация, когда мне нужно преобразовать значение в целое число:
try:
some_var = int(dict.pop("something"))
except KeyError:
error_handler_or_other_stuff("no such key")
except ValueError:
error_handler_or_other_stuff("bad value for key")
Теперь решение с исключениями кажется довольно хорошим, поскольку я могу выполнить обе проверки за один шаг, а также я удалил исходную пару ключ / значение из dict, что является частью проблемы. Так что я могу сказать по крайней мере: это выглядит как элегантное решение. Однако я не уверен, что это быстрее или если у него есть другие недостатки, о которых я должен беспокоиться.