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

使用python检查ListB中是否存在ListA的所有元素,python,list,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] 我想检查ListA的所有元素是否都存在于ListB中您可以用来检查ListA是否是ListB的子集,如下所示: >>> ListA = [1, 9, 6, 3, 2, 4] >>> ListB = [1,2,3,4,5,6,7,8,9] >>

我有两张单子

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]
我想检查ListA的所有元素是否都存在于ListB中

您可以用来检查ListA是否是ListB的子集,如下所示:

>>> 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

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


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

使用
issubset
实现这一点(我更喜欢重命名变量,使其更具pythonic):

输出:

>>> set(l1).issubset(set(l2))
True
您也可以按如下方式使用
issupertt

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

你可以看到ListA没有元素5,7,8。那么,B的所有元素怎么可能都在A中呢?正如我的评论所说,它“迭代ListA并检查ListB中的每个项目”。你刚才提到的与我的代码相反。是的,moinuddin,我想检查A的所有元素是否都存在于B中,打印“是”或“否”,但在上面的解决方案中,列表A没有列表B的元素5、7、8。因此它应该是“否”/“否”。在这种情况下,你想要的不是你想要的。因为,a的所有元素都是
[1,9,6,3,2,4]
,所有这些元素都存在于b中。@CodeMonkey:你确定吗?你试过了吗?检查此参考:特别是表格
>>> set(l1).issubset(set(l2))
True
>>> set(l2).issuperset(set(l1))
True