Skip to main content

Datenorganisation mit Dictionaries

Dictionaries geben uns eine ganz praktische Möglichkeit zusammengehörende Daten in unseren Programmen zu strukturieren und gemeinsam zu speichern. Als Beispiel betrachten wir eine Funktion, welche Daten einer Person entgegennimmt, und diese formatiert ausgibt. Unsere erste Idee wäre die folgende:

def print_address(firstname, lastname, street, street_number, zip_code, city):
print(firstname, ", ", lastname)
print(street, " ", street_number)
print(zip_code, " ", city)

print_address("Anna", "Coder", "Palmenstrasse", 15, 4050, "Basel")

Diese Implementation funktioniert, ist aber, besonders wenn weitere Felder dazukommen, sehr mühsam. Auch kann es leicht passieren, dass wir uns vertun und zum Beispiel beim Aufruf Vorname und Name vertauschen. Das grösste Problem aber ist, dass die Daten keine Einheit bilden. Aus dem Code wird nicht klar, dass alle Daten die Zusammenfassung von Daten zu einer Person sind.

Mithilfe von einem Dictionary können wir die Daten zusammenfassen und somit diese Einheit auch im Code ausdrücken. Die Implementation sieht wie folgt aus.


def print_address(person):
print(person["firstname"], ", ", person["lastname"])
print(person["street"], " ", person["street_number"])
print(person["zip_code"], " ", person["city"])


person = {"firstname" : "Anna",
"lastname" : "Coder",
"street" : "Palmenstrasse",
"street_number" : 15,
"zip_code" : 4053,
"city" : "Basel" }


print_address(person)

Die Methode print_address ist genauso klar zu lesen wie zuvor. In dieser Implementation wird aber klar ersichtlich, dass alle Felder zusammengehören und eine Person beschreiben. In der weiteren Verwendung, wie zum Beispiel wenn wir die Personendaten an eine weitere Funktion übergeben wollen, hat diese Form grosse Vorteile und führt zu weniger und besser lesbarem Code.

Fragen und Kommentare

Haben Sie Fragen oder Kommentare zu diesem Artikel? Nutzen Sie das Forum und helfen Sie sich und Ihren Mitstudierenden dieses Thema besser zu verstehen.