Der Grund, warum ich mich dazu entschlossen habe, diese Liste zu schreiben, war, dass ich beim Erstellen einer Liste ohne doppelte Elemente remove () verwendet habe, um die Elemente zu entfernen. Ich habe falsch verstanden, dass mit remove () alle angegebenen Werte entfernt werden.
l = [1, 2, 3, 4, 1]
l.remove(1)
print(l)
#[2, 3, 4, 1]
Auf diese Weise können Sie den angegebenen Wert löschen, der zuerst angezeigt wird. Mit diesem Code kann jedoch nur einer gelöscht werden, sodass das folgende Verhalten auftritt.
l = [1, 2, 3, 4, 1, 1]
l.remove(1)
print(l)
#[2, 3, 4, 1, 1]
Um eine eindeutige Liste zu erstellen, sollten Sie folgenden Code haben:
l = [3, 4, 3, 2, 5, 4, 3]
l_u = []
for i in l:
if i not in l_u:
l_u.append(i)
#[3, 4, 2, 5]
Auf diese Weise können Sie eine eindeutige Liste von Elementen erstellen.
Referenzierte Site https://www.lifewithpython.com/2013/11/python-remove-duplicates-from-lists.html https://note.nkmk.me/python-list-clear-pop-remove-del/
Ich werde es hinzufügen, weil ich einen Kommentar erhalten habe. Es scheint, dass der folgende Code schneller ausgeführt werden kann als der oben beschriebene Code. Sie können die Bestellung auch speichern.
l = [3, 4, 3, 2, 5, 4, 3]
print(sorted(set(l), key=l.index))
#[3, 4, 2, 5]
Recommended Posts