如何在列表推导中处理异常?
- 论坛
- 如何在列表推导中处理异常?
6 浏览
如何在列表推导中处理异常?
我在Python中有一个列表推导式,在每次迭代中可能会抛出异常。
例如,如果我有:
eggs = (1,3,0,3,2)
[1/egg for egg in eggs]
在第三个元素中,我会得到一个ZeroDivisionError异常。
我该如何处理这个异常并继续执行列表推导式?
我能想到的唯一办法是使用一个辅助函数:
def spam(egg):
try:
return 1/egg
except ZeroDivisionError:
# 处理除零错误
# 现在先空着
pass
但是我觉得这样有点繁琐。
在Python中有更好的方法吗?
注意:这是一个我编造的简单示例(参见上面的“例如”),因为我的真实示例需要一些上下文。我不是为了避免除以零错误,而是在列表推导式中处理异常。