检查列表中的项目是否在另一个列表中存在python


问题内容

有2个清单

a= [1,2,3]
b = [1,2,3]

现在,我要检查python one-liner中* 是否a存在来自的元素。b *

我可以使用循环a,然后检查它是否存在b。但是我想要一种Python方式(单线)。


问题答案:

bool(set(a)&set(b))转换ab成组,然后应用交叉点算子&它们)。然后将bool应用于生成的集合,False如果集合为空(没有共同的元素),则返回布尔,否则返回True(集合为非空并且具有共同的元素)。

不使用集:any(True for x in a if x in b)any()如果任何一个元素为true,则返回True,否则为False。