2017-02-23 172 views
-3

我被我的代碼中的一個部分卡住,我必須刪除列表B中出現的所有listA中出現的相同的部分。python從列表中刪除基於其他列表的元素

實施例:

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

結果應該是A=[1,2,1,5,5]。理想情況下,我想要在線性時間內完成。

+0

對不起,現在那裏有我的問題的微小變化。我想我的名單A也有重複的價值 –

回答

0

list comprehension嘗試,

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

對不起,我的問題現在有一個小的變化。我想我的名單A有重複的價值 –

+0

@SaiPardhu相應地改變 –

+1

真棒,得到它的感謝! –

1

使用Set Operations

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

使用List Comprehension

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

仍然有重複元素的機會, –

+0

對不起,我的問題現在有一個小的改變。我想我的名單A也有重複的價值 –

相關問題