为了账号安全,请及时绑定邮箱和手机立即绑定

针对多个列表重复操作

针对多个列表重复操作

慕尼黑8549860 2021-03-02 22:19:00
让我们假设以下列表: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。在调用有问题的函数的代码中进行处理。


查看完整回答
反对 回复 2021-03-26
  • 1 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信