2

我想将两个列表相交(使用 NOT),并返回列表 A 中不存在于列表 B 中的元素。

例子:

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

3 回答 3

7

您正在寻找设定的差异;-运营商会为您做到这一点:

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

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

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

演示:

>>> a = [1,2,3,4,5]
>>> b = [1,3,5,6]
>>> list(set(a).difference(b))
[2, 4]
于 2013-08-27T09:00:15.430 回答
3

像这样的东西?

>>> list(set(a) - set(b))
[2, 4]
于 2013-08-27T09:00:17.930 回答
3
a = [1,2,3,4,5]
b = [1,3,5,6]
print list(set(a) - set(b))
于 2013-08-27T09:00:52.497 回答