在列表中查找不在其他列表中的值

让我们以这些示例列表为例:

L_main = [1,2,3,4,5,6,7,8,9]
L1 = [1,7,3,12]
L2 = [0,2,51,5,9]
L3 = [3,2,8]

我想创建一个列表,其中包含既不在 L1 中,也不在 L2 中,也不在 L3 中的 L_main 值。下面的代码完成了这项工作,但是对于大列表来说真的很慢

[i for i in L_main if i not in L1 and i not in L2 and i not in L3]

你知道更有效的方法吗?
预期结果 :

[4,6]

回答

您可以使用连接在一起的列表和其余列表set之间的差异L_main

>>> list(set(L_main).difference(L1+L2+L3))
[4, 6]


以上是在列表中查找不在其他列表中的值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>