Eliminieren aufeinanderfolgender Duplikate in Listenelementen: Über das einfache Entfernen hinaus zur Elementeliminierung
Während der erste Ansatz erfolgreich aufeinanderfolgende Duplikate aus den Listenelementen entfernte, Es gelang nicht, die Elemente selbst zu beseitigen. Um dies zu erreichen, ist eine verfeinerte Strategie erforderlich.
Die durch itertools.groupby() bereitgestellte Lösung bietet einen effizienten Ansatz. Es gruppiert aufeinanderfolgende Elemente und gibt den Schlüssel für jede Gruppe zurück. Durch Auswahl der Schlüssel können wir die eindeutigen Elemente in der Liste abrufen:
L = [1,1,1,1,1,1,2,3,4,4,5,1,2] from itertools import groupby [key for key, _group in groupby(L)]
Für den zweiten Teil der Frage, bei dem das Ziel darin besteht, Elemente mit aufeinanderfolgenden Duplikaten zu eliminieren, wird der geänderte Code innerhalb der Gruppe von( )-Anweisung erfüllt diese Anforderung:
[k for k, g in groupby(L) if sum(1 for i in g) < 2]
Dieser Ansatz verwendet einen Generatorausdruck, um die Anzahl der Elemente in jeder Gruppe zu berechnen. Durch die Auswahl von Schlüsseln für Gruppen mit weniger als zwei Elementen eliminieren wir effektiv die aufeinanderfolgenden Duplikate. Das Ergebnis ist eine prägnante und elegante Lösung.
Das obige ist der detaillierte Inhalt vonWie können wir aufeinanderfolgende doppelte Elemente aus einer Liste in Python entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!