让我们假设以下列表: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: returntest2=.....但是应该有一种更快的pythonic功能方式来实现这一点,并具有更好的性能。请注意,只有在test1没有引发异常的情况下,我们才去评估test2。
1 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
totest = set(totest)
for lst in l1, l2, l3:
for item in totest.intersection(lst):
evalitem(item)
如果您不知道如何处理异常(except: return不计算在内),则根本不需要使用try...except。在调用有问题的函数的代码中进行处理。
添加回答
举报
0/150
提交
取消