Manchmal sind es die Kleinigkeiten die glücklich machen…

Manchmal gibt es so Momente da freut man sich einfach, dass etwas gerade einfach war.
Wirklich! Ganz banal! Schön, dass man sich um etwas keine Sorgen machen muss. Ich steh auf sowas.

Wieso? Weil ich hier ein Python-Script habe, und das tut ganz schrecklich viele Dinge. Und damit es weiß was es tun muss übergebe ich eine einfache Datenstruktur, sprich bisher eine Liste.
Das Script funktioniert super. Eigentlich will ich das gar nicht mehr anfassen.

Jetzt muss ich aber den einzelnen Elementen der Liste zusätzliche Informationen mitgeben. Dann müsste ich lauter neue Listen machen (eine die für jedes Element der ursprünglichen Liste die Informationen enthält), oder statt einer Liste ein Dictionary (also einen Key-Value-Store) verwenden. Aber die Liste ändern? Weia, die wird so oft im Code verwendet und darüber iteriert… dann muss ja an so vielen Stellen das Script angepasst werden.
Das ist natürlich Blödsinn… es muss natürlich gar nirgends angepasst werden, weil das Verhalten von beiden Zusammenstellungen weitesgehend gleich anzusprechen ist:

>>> # Zuerst einmal nehmen erstellen wir eine Liste und lassen
>>> # uns die Elemente auf dem Bildschirm augeben
>>> a = ("c", "d")
>>> for e in a:
  print e

c
d
>>> # Und nun wandeln wir die Liste in ein Dictionary um. Verwenden
>>> # die bisherigen Elementa als Schlüssen und fügen Werte hinzu.
>>> a = {"c": "Wert1", "d": "Wert2"}
>>> for i in a:
  print i

c
d
>>> # Ooooh, supi. Die For-Schleife holt nur die Schlüssel ab. Das
>>> # Verhalten bleibt also nach Außen gleich!
>>> # Und wie kommt man nun an die Werte?
>>> for i, v in a.items():
  print "Schlüssel:", i, "Wert:", v

Schlüssel: c Wert: Wert1
Schlüssel: d Wert: Wert2

Gut, das ist jetzt weder umwerfend neu noch revolutionär. Sowohl die Eigenschaft von Python als auch mein Text hier… aber ich freu mich trotzdem, dass ich jetzt nicht an gefühlten 2000 Stellen im Code rumfuhrwerken muss, nur weil ich beim ersten Design vergessen habe, dass da noch Infos zu den Werten angebracht sein könnten.

So!

— der Würschtlmann

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s