首页 > 解决方案 > 如何在python中检查另一个列表中的列表

问题描述

我需要一个代码来查找“allnumbers”列表中的“numbers”列表。如果是,我希望 python 打印出“是”,如果不是“否”。

“数字”列表在“所有数字”列表中。

谁能帮我?

numbers=[1,25,31,42,45,52,59,63,66,70]
allnumbers=[1,2,9,25,26,30,31,35,42,49,45,51,52,55,59,60,63,65,66,70]

标签: python

解决方案


正如您的变量名已经建议的那样,您可以使用all(...)

numbers = [1, 25, 31, 42, 45, 52, 59, 63, 66, 70]
allnumbers = [1, 2, 9, 25, 26, 30, 31, 35, 42, 49, 45, 51, 52, 55, 59, 60, 63, 65, 66, 70]

if (all(number in allnumbers for number in numbers)):
    print("Yes")

另一个变体将包括使用集合:

smaller_list = set(numbers)
bigger_list  = set(allnumbers)

if biggerlist.intersection(smaller_list) == smaller_list:
    print("yes")

要查看匹配的数字数量,请使用:

numbers_matched = len(bigger_list.intersection(smaller_list))

在ideone.com上查看演示。


推荐阅读