我被我的代碼中的一個部分卡住,我必須刪除列表B中出現的所有listA中出現的相同的部分。python從列表中刪除基於其他列表的元素
實施例:
A=[1,4,4,4,3,3,2,1,5,5]
B=[4,3]
結果應該是A=[1,2,1,5,5]
。理想情況下,我想要在線性時間內完成。
我被我的代碼中的一個部分卡住,我必須刪除列表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也有重複的價值 –