2017-02-23 8 views
-3

Ich bin mit einem Teil in einem meiner Codes stecken, wo ich alle in listA vorhandenen Vorkommen löschen muss, die in listB identisch sind.Python entfernen Elemente aus der Liste basierend auf anderen Liste

Beispiel:

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

Ergebnis sollte A=[1,2,1,5,5] sein. Idealerweise würde ich es in linearer Zeit machen wollen.

+0

sorry, Theres eine kleine Änderung jetzt in meiner Frage. Ich würde wollen, dass meine Liste A wiederholte Werte zu –

Antwort

0

Versuchen mit list comprehension,

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

Entschuldigung, es gibt jetzt eine kleine Änderung in meiner Frage. Ich möchte, dass meine Liste A wiederholte Werte zu –

+0

hat @SaiPardhu Entsprechend geändert –

+1

genial, habe es dank !! –

1

mit Set Operations:

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

List Comprehension Mit

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

Noch gibt es eine Chance für doppelte Elemente, –

+0

Sorry, Theres eine kleine Änderung in meiner Frage jetzt. Ich möchte, dass meine Liste A wiederholte Werte hat. –

Verwandte Themen