python从列表中删除基于其他列表的元素

时间:2017-02-23 07:14:54

标签: python list

我在我的一个代码中遇到了一个部分,我必须删除listA中存在的所有在listB中相同的出现。

示例:

A=[1,4,4,4,3,3,2,1,5,5]
B=[4,3] 

结果应为A=[1,2,1,5,5]。理想情况下,我希望在线性时间内完成。

2 个答案:

答案 0 :(得分:1)

使用Set Operations

list(set(A) - set(B))

使用List Comprehension

list(set([i for i in A if i not in B]))

答案 1 :(得分:0)

尝试list comprehension

In [11]: [i for i in A if i not in B]
Out[11]: [1, 2, 1, 5, 5]