Doppelte Einträge in Python Listen entfernen
Zur Zeit programmiere ich gerade einen kleinen Launcher für das Spiel Lure of the Temptress (hierzu später mehr in diesem Blog) in Python. Damit auch unerfahrene Windows Benutzer den Launcher benutzen können ohne vorher Python installieren zu müssen, habe ich das ganze mit py2exe umgewandelt und in eine exe gepackt.
Während des Arbeitens mit py2exe ist mir aufgefallen, dass die übergebenen Parameter (in diesem Fall Dateipfade zu DLL Dateien) manchmal doppelt vorkommen.
Will man diese doppelten Einträge eliminieren gibt es zwei sehr simple Möglichkeiten dazu:
Zwei Listen. Eine mit reinen Zahlen, die andere mit Strings von Farbnamen:
x = [1, 3, 5, 7, 5, 5, 9]
y = ["blau", "gelb", "braun", "blau", "gelb", "violett"]
Möglichkeit 1 (< Ptyhon 2.4):
>>> x_sauber = dict(map(lambda i: (i,1),x)).keys()
>>> y_sauber = dict(map(lambda i: (i,1),y)).keys()
Ergibt:
>>> print x_sauber
[1, 3, 9, 5, 7]
>>> print y_sauber
['violett', 'gelb', 'blau', 'braun']
Möglichkeit 2 (ab Ptyhon 2.4):
>>> x_sauber = list(set(x))
>>> y_sauber = list(set(y))
Ergibt:
>>> print x_sauber
[1, 3, 9, 5, 7]
>>> print y_sauber
['violett', 'gelb', 'blau', 'braun']

Ganz ehrlich. Wenn man irgendwen aus unserem Bekanntenkreis fragt, dann wird jedermann bestätigen, dass die Eggers bisher politisch nicht aktiv waren. Bisher. Denn diesmal geht es um ein anliegen, dass zumindest uns am Herzen liegt.
Um 13:30 Uhr stehe ich im mir zugewiesenen Schulhaus bereit, darauf wartend, dass mich sogleich 113 Dezibel niedermähen. Dann ist es soweit. Die KaPo Flughafen Zürich drückt auf den Knopf und im ganzen Kanton Zürich ertönen die Sirenen.
USB Sticks sind heute so weit verbreitet wie einst Walkmans. Zahlte man vor 3-4 Jahren noch um die 100 CHF für einen guten Stick mit 256MB! kriegt man heute für einen drittel des Preises 16x mehr Kapazität (