检查列表中的项目是否在另一个列表中存在python
问题内容:
有2个清单
a= [1,2,3]
b = [1,2,3]
现在,我要检查python one-liner中* 是否a
存在来自的元素。b
*
我可以使用循环a
,然后检查它是否存在b
。但是我想要一种Python方式(单线)。
问题答案:
bool(set(a)&set(b))
转换a
和b
成组,然后应用交叉点算子(&
它们)。然后将bool应用于生成的集合,False
如果集合为空(没有共同的元素),则返回布尔,否则返回True
(集合为非空并且具有共同的元素)。
不使用集:any(True for x in a if x in b)
。any()
如果任何一个元素为true,则返回True,否则为False。