doppelte elemente einer liste entfernen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

wie kann ich möglichst recourcen schonend die mehrfachige elemente einer liste entfernen?

danke
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

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
Benutzeravatar
Michael Schneider
User
Beiträge: 569
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Brandenburg

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
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

thx, klappt wie geschmiert
Antworten