使用python检查ListB中是否存在ListA的所有元素

时间:2016-11-21 09:14:17

标签: python list

我有两个列表

ListA = [1,9,6,3,2,4]

ListB = range(min(ListA),(max(ListA)+1))
i.e ListB = [1,2,3,4,5,6,7,8,9]

我想检查ListB中是否存在ListA的所有元素

3 个答案:

答案 0 :(得分:4)

使用issubset来实现这一目标(我更喜欢重命名变量以使其变得更加pythonic):

l1 = [1, 9, 6, 3, 2, 4]
l2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

<强>输出:

>>> set(l1).issubset(set(l2))
True

您也可以使用issuperset,如下所示:

>>> set(l2).issuperset(set(l1))
True

答案 1 :(得分:3)

您可以使用set()检查ListAListB的子集:

>>> ListA = [1, 9, 6, 3, 2, 4]
>>> ListB = [1,2,3,4,5,6,7,8,9]

>>> set(ListA) <= set(ListB)  # OR, using `set(ListA).issubset(set(ListB))`
True

或者,您可以使用all()来迭代检查:

# Iterates over ListA and checks each item is in ListB
>>> all(item in ListB for item in ListA)
True

答案 2 :(得分:3)

您可以使用子集执行此操作。

set(ListA).issubset(set(ListB))