Heim >Backend-Entwicklung >Python-Tutorial >Wie können wir aufeinanderfolgende doppelte Elemente aus einer Liste in Python entfernen?

Wie können wir aufeinanderfolgende doppelte Elemente aus einer Liste in Python entfernen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-01 01:12:11252Durchsuche

How Can We Eliminate Consecutive Duplicate Elements from a List in Python?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn