如果顺序无关紧要,您可以使用
set它。它实现了交叉和差异。
>>> a = set([1, 2, 3, 4, 5])>>> b = set([4, 5, 6, 7, 8])>>> a.intersection(b)set([4, 5])>>> a.difference(b)set([1, 2, 3])
以下是这些 *** 作的时间复杂度信息:https :
//wiki.python.org/moin/TimeComplexity#set。注意,换位顺序改变了 *** 作复杂度。
如果element可以出现几次(通常称为
multiset),则可以使用
Counter:
>>> from collections import Counter>>> a = Counter([1, 2, 3, 4, 4, 5, 5])>>> b = Counter([4, 4, 5, 6, 7, 8])>>> a - bCounter({1: 1, 2: 1, 3: 1, 5: 1})>>> a & bCounter({4: 2, 5: 1})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)