list = [1,1,1,1,1,1,2,3,4,4,5,1,2]
i = 0
dupe = False
while i < len(list)-1:
if list[i] == list[i+1]:
del list[i]
dupe = True
elif dupe:
del list[i]
dupe = False
else:
i += 1
Aber es scheint irgendwie ungeschickt und nicht pythonisch. Haben Sie eine intelligentere/elegantere/effizientere Möglichkeit, dies zu implementieren?
Ich war neugierig auf die Frage: Eliminieren Sie aufeinanderfolgende Duplikate von Listenelementen und wie dies in Python implementiert werden sollte.
Was ich herausgefunden habe, ist Folgendes:< /p>
[code]list = [1,1,1,1,1,1,2,3,4,4,5,1,2] i = 0
while i < len(list)-1: if list[i] == list[i+1]: del list[i] else: i = i+1 [/code]
Ausgabe:
[code][1, 2, 3, 4, 5, 1, 2] [/code]
Was meiner Meinung nach in Ordnung ist.
Also wurde ich neugierig und wollte sehen, ob ich das löschen könnte [b]Elemente[/b], die aufeinanderfolgende Duplikate hatten, und erhalten diese Ausgabe:
[code][2, 3, 5, 1, 2] [/code]
Dafür habe ich Folgendes getan:
[code]list = [1,1,1,1,1,1,2,3,4,4,5,1,2] i = 0 dupe = False
while i < len(list)-1: if list[i] == list[i+1]: del list[i] dupe = True elif dupe: del list[i] dupe = False else: i += 1 [/code]
Aber es scheint irgendwie ungeschickt und nicht pythonisch. Haben Sie eine intelligentere/elegantere/effizientere Möglichkeit, dies zu implementieren?
Ich versuche, die doppelten Einträge, die aus der externen Datenbank abgerufen wurden, entweder zu entfernen oder sie als einen zu gruppieren. Ursprünglich hatte meine SQL-Abfrage eine...
Ich wurde gebeten, meine eigene Implementierung zu schreiben, um doppelte Werte in einem Array zu entfernen. Hier ist, was ich geschaffen habe. Aber nach Tests mit 1.000.000 Elementen dauerte es sehr...
Ich habe einen großen Datensatz und muss mehrere aufeinanderfolgende Verknüpfungen durchführen, die langsam sind. Ich dachte, eine Alternative bestünde darin, den gesamten Datenrahmen, den ich...