У меня есть некоторое понимание списка в Python, в котором каждая итерация может вызывать исключение.
Например, если у меня есть:
eggs = (1,3,0,3,2)
[1/egg for egg in eggs]
Я получаю исключение ZeroDivisionError
в третьем элементе.
Как я могу обработать это исключение и продолжить выполнение понимания списка?
Единственный способ, которым я могу думать, - использовать вспомогательную функцию:
def spam(egg):
try:
return 1/egg
except ZeroDivisionError:
# handle division by zero error
# leave empty for now
pass
Но это выглядит немного громоздким для меня.
Есть ли лучший способ сделать это в Python?
Примечание.. Это простой пример (см. "например" выше), который я нарисовал, потому что мой реальный пример требует некоторого контекста. Я не заинтересован в том, чтобы избежать деления на нулевые ошибки, но в обработке исключений в понимании списка.