📌  相关文章
📜  python 检查两个列表是否相交 - Python (1)

📅  最后修改于: 2023-12-03 15:19:10.587000             🧑  作者: Mango

Python检查两个列表是否相交

在Python中,我们经常需要比较两个列表是否有交集。那么如何检查两个列表是否相交呢?下面介绍两种方法。

方法一:使用set

使用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的值来判断两个列表是否有交集。

无论使用哪种方法,都可以轻松地检查两个列表是否相交。