python从列表中删除基于其他列表的元素
我被我的代码中的一个部分卡住,我必须删除列表B中出现的所有listA中出现的相同的部分。python从列表中删除基于其他列表的元素
实施例:
A=[1,4,4,4,3,3,2,1,5,5]
B=[4,3]
结果应该是A=[1,2,1,5,5]
。理想情况下,我想要在线性时间内完成。
与list comprehension
尝试,
In [11]: [i for i in A if i not in B]
Out[11]: [1, 2, 1, 5, 5]
对不起,我的问题现在有一个小的变化。我想我的名单A有重复的价值 –
@SaiPardhu相应地改变 –
真棒,得到它的感谢! –
使用Set Operations
:
list(set(A) - set(B))
使用List Comprehension
list(set([i for i in A if i not in B]))
仍然有重复元素的机会, –
对不起,我的问题现在有一个小的改变。我想我的名单A也有重复的价值 –
对不起,现在那里有我的问题的微小变化。我想我的名单A也有重复的价值 –