我想知道我是否有一个整数列表,那么我可以打开它们的包装以检查它们是否存在于另一个列表中,还是必须手动执行?我知道有内置函数,例如any()和all(),但我想知道我们是否可以在成员资格测试期间解压缩变量。

list1 = [1,2,3,4,5,6,7,8,9,0]
list2 = [5,3,2,]
if (*list1) in list2:
    print("it works")

最佳答案

需要集合数据类型的参数的函数接受集合的拆包。您可以通过将解压缩的args与另一个集合中的项目进行比较来检查此函数的成员资格。下面是一个自定义函数,它接受list1的拆包并将该列表中的项目与另一个列表list2进行比较。

list1 = [1,2,3,4,5,6,7,8,9,0]
list2 = [5,3,2]

def intersection(*args, list2):
    for i in args:
        if i in list2:
            print(i)

intersection(*list1, list2=list2)
#Output:
2
3
5


您还可以使用内置的set操作(例如intersection)来获得类似的结果:

set(list1).intersection(list2)
#Ouptut:
{2, 3, 5}

关于python - 我可以解压缩变量以检查它们在另一个列表中的成员资格吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55676398/

10-13 00:07