如何在Python中轻松检查一个列表中的所有项是否包含在另一个列表中?



我找到了一些解决方案,但没有一个是我需要的。

例如:

list1 = ['a', 'b', 'c']
list2 = ['a', 'a', 'b', 'c']

Counter(list1) == Counter(list2)->True,但我需要False因为有两个a////set(list1) == set(list2)True,但我也需要False

我想写一个小代码从列表中搜索可能的单词。

的例子:

wordCollection = ["dog", "go", "home", "long"]////输入字符:"NLGUCOBAD">

result: dog, go, long

您可以将all与一个简单的表达式结合使用:

result = all((list1.count(x) == list2.count(x)) for x in list1)

all返回True,如果集合中的每个项目都是True。当不是每个项目都是True时,它将返回False

例如:

all([True, True, True, True, True])
>>> True
all([True, False, True, True, True])
>>> False

考虑到这一点,您可以检查list1中每个元素的计数是否与list2中相同。这就是list1.count(x) == list2.count(x)的来源。

最新更新