我找到了一些解决方案,但没有一个是我需要的。
例如:
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)
的来源。