让我们假设以下列表:
totest=[2,4,5,3,6]
l1=[6,8,7,9,4]
l2=[3,12,21,30]
l3=[2,5]
以下功能:
def evalitem(x):
...detail....
除非有异常,否则我必须针对序列中所有其他列表执行针对totest的交集的函数。
始终有以下选项:
test1=set(totest)&set(l1)
try:
for i in test1:
evalitem(i)
except:
return
test2=.....
但是应该有一种更快的pythonic功能方式来实现这一点,性能要好得多 请注意,仅当test1没有引发异常时我们才会评估test2。
答案 0 :(得分:1)
totest = set(totest)
for lst in l1, l2, l3:
for item in totest.intersection(lst):
evalitem(item)
如果您不知道如何处理异常(except: return
不计算),则根本不需要使用try...except
。在调用相关函数的代码中处理它。