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