包含函数的多个参数

2024-09-29 23:24:44 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以在一个多个参数的列表中传递“\uuuContains”函数?我想检查一下列表中至少有一个项目存在于另一个列表中。在

例如: [0,1,4,8,87,6,4,7,5,'a','f','er','fa','vz']

我想检查一下(8,5,'f')中的一项是否在那张单子上。在

我该怎么做?在


Tags: 项目函数列表参数单子faervz
3条回答

AFAIK,__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

或者

^{pr2}$

使用内置的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(其他)它可能经过优化,以便在找到公共元素后立即返回。在

^{pr2}$

如果要循环:

>>> 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

相关问题 更多 >

    热门问题