我有一套套装:
setlist = [s1,s2,s3...]
Run Code Online (Sandbox Code Playgroud)
我想要s1∩s2∩s3...
我可以通过执行一系列成对s1.intersection(s2)等来编写一个函数来完成它.
有推荐的,更好的或内置的方式吗?
a = [1,2,3,4,5]
b = [1,3,5,6]
c = a and b
print c
Run Code Online (Sandbox Code Playgroud)
实际产出:[1,3,5,6]
预期产量:[1,3,5]
我们如何在两个列表上实现布尔AND操作(列表交集)?
我想检查一个列表中的任何项目是否存在于另一个列表中.我可以使用下面的代码简单地完成它,但我怀疑可能有一个库函数来执行此操作.如果没有,是否有更多的pythonic方法来实现相同的结果.
In [78]: a = [1, 2, 3, 4, 5]
In [79]: b = [8, 7, 6]
In [80]: c = [8, 7, 6, 5]
In [81]: def lists_overlap(a, b):
....: for i in a:
....: if i in b:
....: return True
....: return False
....:
In [82]: lists_overlap(a, b)
Out[82]: False
In [83]: lists_overlap(a, c)
Out[83]: True
In [84]: def lists_overlap2(a, b):
....: return len(set(a).intersection(set(b))) > 0
....:
Run Code Online (Sandbox Code Playgroud)