Vorkommende Listenelemente ausgeben

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
Benutzeravatar
Käptn Haddock
User
Beiträge: 169
Registriert: Freitag 24. März 2006, 14:27

Hoi!

Ich meine das neulich gesehen zu haben und suche mir gerade die Augen wund.
Ich suche eine Funktion, die mir alle in einer Liste vorkommenden Ausprägungen in eine neue Liste schreibt. Also sowas in der Art:

Code: Alles auswählen

[1,2,3,4,5,5,3,4,2,2,2] => [1,2,3,4,5]
Danke für Hinweise

Gruß Uwe
---------------------------------
have a lot of fun!
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

Code: Alles auswählen

>>> list(set([1,2,3,4,5,5,3,4,2,2,2]))
[1, 2, 3, 4, 5]
Bottle: Micro Web Framework + Development Blog
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

set() behält die Reihenfolge nicht bei.

Code: Alles auswählen

def unique(sequence, preserve_order=False):
    if not preserve_order:
        return iter(set(sequence))
    seen = set()
    for item in sequence:
        if item not in seen:
            yield item
            seen.add(item)
Benutzeravatar
Käptn Haddock
User
Beiträge: 169
Registriert: Freitag 24. März 2006, 14:27

Argh. Best viewed with open eyes :)

Die Reihenfolge ist letztlich egal, die Werte sollen nur in eine Datenbanktabelle wandern und müssen dort unique sein.

Vielen Dank für die Hilfe!

Gruß Uwe
---------------------------------
have a lot of fun!
Antworten