如何在Python中检查一个列表是否包含另一个列表的所有元素?它不起作用了

2024-10-05 10:41:34 发布

您现在位置:Python中文网/ 问答频道 /正文

list1 = ['Gryffindor', 'Ravenclaw', 'Hufflepuff', 'Slytherin']
list2 = ['Gryffindor', 'Ravenclaw']

checkif = item in List2 for item in List1

if check is True:
    print("The list {} contains all elements of the list {}".format(List1, List2))

为什么这该死的东西不起作用?也是列表理解还是什么

有人请更正我的代码,谢谢


Tags: inforifcheckitemlistlist2list1
2条回答

我想你想要all

list1 = ['Gryffindor', 'Ravenclaw', 'Hufflepuff', 'Slytherin']
list2 = ['Gryffindor', 'Ravenclaw']

checkif = all(item in list1 for item in list2)

另外,您需要交换list1list1以获得您在print行中描述的结果

您需要在此处使用集合,并特别检查其中一个集合是否是另一个集合的子集:

set(list2).issubset(list1)   # True

要使用此方法,第一个对象必须是一个集合,因此set(list2),但第二个对象可以是任何iterable。这里需要注意的一点是,由于我们在比较集合,它只会检查唯一的元素,也就是说,它不会关心重复的值

相关问题 更多 >

    热门问题