Seite 1 von 1

doppelte elemente einer liste entfernen

Verfasst: Sonntag 27. August 2006, 17:33
von Costi
wie kann ich möglichst recourcen schonend die mehrfachige elemente einer liste entfernen?

danke

Verfasst: Sonntag 27. August 2006, 17:43
von rayo
Hi

Kennst du den Datentyp set?

Falls nicht kannst du dies in der Doku nachlesen.
Könnte sein, dass dir sets helfen ... bei denen gibt es keine doppelten Elemente.

Gruss

Verfasst: Sonntag 27. August 2006, 20:09
von Michael Schneider
Hi Rayo,

Sets sind eine gute Möglichkeit, gibt es aber erst ab Python 2.3. Costi kann es auch über ein Dictionary lösen, da gibt es Schlüssel auch nur ein mal:

Code: Alles auswählen

>>> liste = [0, 3, 1, 1, 2, 3]
>>> dict(zip(liste, liste)).keys()
[0, 1, 2, 3]
Mit "zip(liste, liste)" erzeugst Du eine Liste mit der gleichen Anzahl an Elementen wie liste, allerdings mit Wert-Paaren. Aus dieser wird vom Constructor ein Dictionary erzeugt, das automatisch doppelte Vorkommen entfernt. Mit einer kleinen Änderung könntest Du in dem Dictionary sogar die Anzahl der Vorkommen zählen.

Grüße,
der Michel

Verfasst: Montag 28. August 2006, 13:33
von Costi
thx, klappt wie geschmiert