在Python中,计算两个列表之间差异的最佳方法是什么?
示例
A = [1,2,3,4]
B = [2,5]
A - B = [1,3,4]
B - A = [5]
发布于 2011-06-27 04:23:01
如果你不关心项目的顺序或重复,可以使用set
。如果您这样做,请使用list comprehensions:
>>> def diff(first, second):
second = set(second)
return [item for item in first if item not in second]
>>> diff(A, B)
[1, 3, 4]
>>> diff(B, A)
[5]
>>>
发布于 2011-06-27 04:19:21
您可以执行以下操作
list(set(A)-set(B))
和
list(set(B)-set(A))
发布于 2011-06-27 14:07:23
一个线条:
diff = lambda l1,l2: [x for x in l1 if x not in l2]
diff(A,B)
diff(B,A)
或者:
diff = lambda l1,l2: filter(lambda x: x not in l2, l1)
diff(A,B)
diff(B,A)
https://stackoverflow.com/questions/6486450
复制相似问题