如何检查子列表中的所有项目是否都在列表中?python

如何检查子列表中的所有项目是否都在列表中?python,python,list,Python,List,我的问题与上面差不多: 如果您有以下两个列表,如何检查第一个列表中的所有项目是否都在第二个列表中。 乙二醇 我当前的尝试只是“如果所有列表都是列表二中的一”: 但这一条件似乎从未得到满足,因此没有进一步的进展。任何帮助都将不胜感激:)使用all()函数检查是否满足所有条件。我们正在从列表_1获取元素,并检查列表_2中是否有可用的元素如果所有可用,则打印“是” 您可以检查列表中的单个项目 count=0 for i in list_one: if i in list_two:

我的问题与上面差不多:

如果您有以下两个列表,如何检查第一个列表中的所有项目是否都在第二个列表中。 乙二醇

我当前的尝试只是“如果所有列表都是列表二中的一”:

但这一条件似乎从未得到满足,因此没有进一步的进展。任何帮助都将不胜感激:)

使用
all()
函数检查是否满足所有条件。我们正在从列表_1获取元素,并检查列表_2中是否有可用的元素如果所有可用,则打印“是”


您可以检查
列表中的单个项目

count=0
for i in list_one:
    if i in list_two:
        count += 1

    if count==len(list_one):
        print("All items covered!")

您可以将
all
与生成器表达式一起使用,这将允许在找到第二个列表中未出现的第一个元素时短路

>>> list_one=[1,2,3]
>>> list_two=[1,2,3,4]
>>> all(i in list_two for i in list_one)
True

我只是创建了一个集的差异,然后检查长度

assert len(set([1,2,3]) - set([1,2,3,4])) == 0
请注意,在布尔上下文中,空集(与任何其他容器一样)是错误的,因此您可以简单地执行以下操作:

if set(seq1) - set(seq2):
    do_something()

相关:在查找停止条件时,可以使用
break
显式退出循环,或者使用谓词包含停止条件的
while
循环。
>>> list_one=[1,2,3]
>>> list_two=[1,2,3,4]
>>> all(i in list_two for i in list_one)
True
assert len(set([1,2,3]) - set([1,2,3,4])) == 0
if set(seq1) - set(seq2):
    do_something()