Jak mogę obsługiwać wyjątki w rozumieniu listy w Pythonie?

Mam pewne zrozumienie listy w Pythonie, w którym każda iteracja może rzucić wyjątek.

Na przykład, Jeżeli mam:

eggs = (1,3,0,3,2)

[1/egg for egg in eggs]

DostanęZeroDivisionError wyjątek w trzecim elemencie.

Jak mogę obsłużyć ten wyjątek i kontynuować rozumienie listy?

Jedynym sposobem, w jaki mogę pomyśleć, jest użycie funkcji pomocniczej:

def spam(egg):
    try:
        return 1/egg
    except ZeroDivisionError:
        # handle division by zero error
        # leave empty for now
        pass

Ale dla mnie to wygląda trochę uciążliwie.

Czy jest lepszy sposób na zrobienie tego w Pythonie?

Uwaga: To prosty przykład (patrz „na przykład„powyżej”, które wymyśliłem, ponieważ mój prawdziwy przykład wymaga pewnego kontekstu, nie interesuje mnie unikanie dzielenia przez błędy zerowe, ale obsługa wyjątków w rozumieniu listy.

questionAnswers(5)

yourAnswerToTheQuestion