📅  最后修改于: 2023-12-03 15:19:10.587000             🧑  作者: Mango
在Python中,我们经常需要比较两个列表是否有交集。那么如何检查两个列表是否相交呢?下面介绍两种方法。
使用set是Python中最简单的方法。set是一个集合,具有自动去重的功能,只需要将两个列表转化成set,然后求它们的交集即可。
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
set1 = set(list1)
set2 = set(list2)
if set1 & set2:
print("两个列表有交集")
else:
print("两个列表没有交集")
首先,定义了两个列表list1和list2。然后使用set构造函数将它们转化成set类型。&是Python中集合的交运算符,求两个set的交集。如果结果不为空,则说明两个列表有交集。
虽然使用set是最简单的方法,但是使用循环的方法更加灵活,可以用于各种场景。
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
is_intersect = False
for i in list1:
if i in list2:
is_intersect = True
break
if is_intersect:
print("两个列表有交集")
else:
print("两个列表没有交集")
首先,定义了两个列表list1和list2,以及一个用于判断两个列表是否有交集的变量is_intersect。然后使用for循环遍历list1中的元素,如果某个元素也在list2中,就将is_intersect设为True,然后跳出循环。最后根据is_intersect的值来判断两个列表是否有交集。
无论使用哪种方法,都可以轻松地检查两个列表是否相交。