Was ich möchte: Wenn zwei Listen (Liste a und Liste b) gegeben, entfernen Sie die Nummern in Liste a, die in Liste b sind.Subtrahieren einer Liste von einer anderen in Python
Momentan passiert: Meine erste Funktion funktioniert nur, wenn in der Liste a nur eine Nummer entfernt werden soll.
Was ich versucht habe: die Listen in Sätze Drehen, dann ein Subtrahieren - b
def array_diff(a, b):
c = list(set(a) - set(b))
return c
auch versucht: Drehen Sie die Liste in Sätze, sucht n in a und m in b , dann wenn n = m, um n zu entfernen.
def array_diff(a, b):
list(set(a))
list(set(b))
for n in (a):
for m in (b):
if n == m:
n.remove()
return a
Möglicherweise dachten an: Mit der „nicht in“ Funktion, um zu bestimmen, ob etwas in b ist oder nicht.
Probe Input/Output:
INPUT: array_diff ([1,2], [1]) OUTPUT: [2]
INPUT: array_diff ([1,2,2], [1]) OUTPUT: [2] (Dies sollte sein, kommt aus [2,2]
kann du nicht einfach Schleife über 1 Liste und aus dem entfernen andere? – Carcigenicate
Schauen Sie sich die Dupl icate. Letztendlich ändern Sie einfach die Bedingung, die Sie für Ihren Listenvergleich wollen. Es gibt jedoch einige Beispiele dafür, was Sie in StackOverflow versuchen möchten. – idjaw