[英]Compare elements in two lists in python
我有两个列表,如下所示:
a = ['abc','def', 'ghi'], b=['ZYX','WVU']
并要确认是否union
两份名单等于超集
c = ['ZYX', 'def', 'WVU', 'ghi', 'abc']
我尝试了以下方法:
>>> print (c == list(set(b).union(c)))
>>> False
有人可以显示我在这里想念的东西吗?
只需使用set
方法,因为列表中的项目顺序是不同的,这就是为什么您收到False
作为结果的原因。
print (set(c) == set(list(set(b).union(c))))
另一个解决方案是使用Counter
类。 对于大型列表, Counter
方法应该更有效,因为它具有线性时间复杂度(即O(n))
from collections import Counter
Counter(c) == Counter(list(set(b).union(c))))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.