[Python-de] Liste uniquify

Philipp Kraus philipp.kraus at flashpixx.de
Do Nov 10 20:24:34 CET 2011


Hallo,

ich möchte aus einer Liste Duplikate entfernen. Im Moment mache ich das mit
def unique(seq):
    keys = {}
    for e in seq:
        keys[e] = 1
    return keys.keys()

das Problem dabei ist aber, dass mir dadurch die Reihenfolge der 
Element verändert wird.
Ich möchte gerne folgendes haben, wenn die Liste so aussieht [a, a, b, 
e, c, g, d, g], soll
das Resultant nach dem entfernen von den Duplikaten so aussehen [a, b, 
e, c, g, d]
also immer das erste Auftreten eines Elementes soll erhalten bleiben.

Ist ein
newlist = []
for i in list :
     if not i in newlist :
        newlist.append(i)

dafür so gedacht, oder kann man das etwas besser machen?

Danke

Phil



Mehr Informationen über die Mailingliste python-de