获得两个列表之间的交集

时间:2013-08-27 08:58:34

标签: python list intersect

我想要交叉两个列表(带NOT),并返回列表A中不存在的列表A的元素。

示例:

>>> a = [1,2,3,4,5]
>>> b = [1,3,5,6]
>>> list(set(a) ????? set(b))
[2, 4]

3 个答案:

答案 0 :(得分:7)

您正在寻找差异; -运算符会为您执行此操作:

list(set(a) - set(b))

如果使用set.difference() method,则第二个操作数不需要是一个集合,它可以是任何可迭代的:

list(set(a).difference(b))

演示:

>>> a = [1,2,3,4,5]
>>> b = [1,3,5,6]
>>> list(set(a).difference(b))
[2, 4]

答案 1 :(得分:3)

这样的东西?

>>> list(set(a) - set(b))
[2, 4]

答案 2 :(得分:3)

a = [1,2,3,4,5]
b = [1,3,5,6]
print list(set(a) - set(b))