2024-09-29 23:24:44 发布
网友
是否可以在一个多个参数的列表中传递“\uuuContains”函数?我想检查一下列表中至少有一个项目存在于另一个列表中。在
例如: [0,1,4,8,87,6,4,7,5,'a','f','er','fa','vz']
我想检查一下(8,5,'f')中的一项是否在那张单子上。在
我该怎么做?在
AFAIK,__contains__只接受一个参数,不能更改。在
__contains__
但是,您可以执行以下操作以获得所需的结果:
>>> a = [0,1,4,8,87,6,4,7,5,'a','f','er','fa','vz'] >>> any(map(lambda x: x in a, (8,5,'f'))) True
或者
使用内置的set类型。在
>>> l = [0,1,4,8,87,6,4,7,5,'a','f','er','fa','vz'] >>> s = (8,5,'f') >>> bool(set(s) & set(l)) True
Set方法也将iterable作为参数,避免创建Set。在
最简洁:
2.6提供设置isdisjoint(其他)它可能经过优化,以便在找到公共元素后立即返回。在
如果要循环:
>>> any((val in s) for val in l) True
您可以使用:
list1 = [0,1,4,8,87,6,4,7,5,'a','f','er','fa','vz'] tuple1 = (8,5,'f') def my_contains(first, second): return bool(set(first).intersection(second)) my_contains(list1, tuple1) # True my_contains(list1, [1]) # True my_contains(list1, (125,178,999)) # False
AFAIK,
__contains__
只接受一个参数,不能更改。在但是,您可以执行以下操作以获得所需的结果:
或者
^{pr2}$使用内置的set类型。在
Set方法也将iterable作为参数,避免创建Set。在
最简洁:
2.6提供设置isdisjoint(其他)它可能经过优化,以便在找到公共元素后立即返回。在
^{pr2}$如果要循环:
您可以使用:
相关问题 更多 >
编程相关推荐