获得两个列表之间的交集

fj1*_*23x 2 python list intersect

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

例:

>>> a = [1,2,3,4,5]
>>> b = [1,3,5,6]
>>> list(set(a) ????? set(b))
[2, 4]
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 7

你正在寻找设定差异; 该-操作会替你:

list(set(a) - set(b))
Run Code Online (Sandbox Code Playgroud)

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

list(set(a).difference(b))
Run Code Online (Sandbox Code Playgroud)

演示:

>>> a = [1,2,3,4,5]
>>> b = [1,3,5,6]
>>> list(set(a).difference(b))
[2, 4]
Run Code Online (Sandbox Code Playgroud)