📜  Python – 检查列表中的子列表(1)

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

Python – 检查列表中的子列表

有时我们需要检查一个列表是否包含另一个列表,即子列表。在Python中,我们可以使用in关键字检查列表是否包含一个元素。但是,如果要检查一个列表是否包含另一个列表,我们需要使用其他方法。

方法一:使用set()

我们可以将列表转换为set类型,然后使用issubset()函数检查一个集合是否是另一个集合的子集。下面是一个例子:

a = [1, 2, 3, 4]
b = [2, 3]
set_b = set(b)
if set_b.issubset(a):
    print("b is a subset of a")
else:
    print("b is not a subset of a")

输出为:b is a subset of a

方法二:使用循环

我们可以使用一个循环来检查一个列表是否包含另一个列表。下面是一个例子:

a = [1, 2, 3, 4]
b = [2, 3]
flag = 0
for i in b:
    if i in a:
        flag = 1
    else:
        flag = 0
        break
if flag == 1:
    print("b is a subset of a")
else:
    print("b is not a subset of a")

输出为:b is a subset of a

方法三:使用count()

我们可以使用count()函数来检查一个列表中包含另一个列表的元素个数。如果个数等于要检查的列表的长度,那么就说明要检查的列表是包含在原列表中的子列表。下面是一个例子:

a = [1, 2, 3, 2, 3, 4]
b = [2, 3]
if a.count(b[0]) == b.count(b[0]) and a.count(b[1]) == b.count(b[1]):
    print("b is a subset of a")
else:
    print("b is not a subset of a")

输出为:b is a subset of a

以上就是检查列表中是否包含子列表的三种方法。您可以根据具体情况选择适合自己的方法。