Ich habe es versucht, es gibt die Ausgabe, die es geben sollte ([1,3,2]), jedoch Das Problem ist, dass es die Ausgabe unendlich oft ohne Unterbrechung druckt. Gibt es Lösungen, die die Idee des Codes ändern?Ich möchte eine Funktion schreiben, die eine Liste nimmt und sie mit allen entfernten Duplikaten zurückgibt, ohne eine andere Liste oder Zeichenfolge zu erstellen
a= [1,2,2,2,1,3,2]
def rem_dup(L):
while len(L):
for i in L:
y= L.count(i)
if y>1:
L.remove(i)
print L
rem_dup(a)
Warum können Sie keine andere Liste erstellen? Ihr Algorithmus ist O (n^2), was bedeutet, dass er für große Listen sehr ineffizient ist. –
'list (set (a))' ist das einfachste, obwohl es Zwischendatenstrukturen benötigt. Das riecht für mich nach Hausaufgaben. – TemporalWolf
@TemporalWolf, vorausgesetzt, die Elemente in 'a' sind hashable;) –