以下示例非常简单。我想执行map()带有可以引发Exception的函数。这将是更清晰地用一个例子:python映射异常继续映射执行
number_list = range(-2,8)
def one_divide_by(n):
return 1/n
try:
for number, divide in zip(number_list, map(one_divide_by, number_list)):
print("%d : %f" % (number, divide))
except ZeroDivisionError:
# Execution is stopped. I want to continue mapping
pass
当我执行这个代码,我得到:
-2 : -0.500000
-1 : -1.000000
这是由于我的列表中的0。我不想删除这个0(因为实际情况下,我不知道如果我会得到例外)。 你知道如何在之后继续映射吗?
,如果你知道什么代替值 '无限' 然后用'尝试:回1/N;除了ZeroDivisionError:return yourvalue' – Pynchia