Ich bin ein Anfänger lernen Python und versuchte, Duplikate aus der Liste zu entfernen, während die Verwendung von (Versuch zu lernen any()
und all()
).Versuchen zu löschen Duplikate während der Verwendung von jedem(), um durch die
def remove_duplicates(x):
l=0
for i,item in enumerate(x):
if any(l==item for l in x)==True:
print (i,item)
x=del x[i]
return(x)
x=[1,2,3,1]
print (remove_duplicates(x))
Ich bekomme das folgende Ergebnis.
0 1
1 3
[2, 1]
Anstelle von [2,3,1].
mit 'any()' ist nicht die beste Option für diese Aufgabe. – felipsmartins
Es ist generell eine schlechte Idee, ein Array zu modifizieren, wenn Sie darüber iterieren. Arbeite stattdessen an einer Kopie. – Owen
Da 'item' von' x' genommen wird, 'any (l == item für l in x)' ist * immer * wahr. – chepner