我在Python中有一些列表理解,其中每次迭代都会抛出异常.
例如,如果我有:
eggs = (1,3,0,3,2)
[1/egg for egg in eggs]
Run Code Online (Sandbox Code Playgroud)
我会ZeroDivisionError在第3个元素中得到一个例外.
如何处理此异常并继续执行列表推导?
我能想到的唯一方法是使用辅助函数:
def spam(egg):
try:
return 1/egg
except ZeroDivisionError:
# handle division by zero error
# leave empty for now
pass
Run Code Online (Sandbox Code Playgroud)
但这对我来说看起来有点麻烦.
有没有更好的方法在Python中执行此操作?
注意: 这是我设计的一个简单示例(参见上面的" 例如 "),因为我的真实示例需要一些上下文.我不想避免除零错误,而是处理列表理解中的异常.