Dictionary

(Grundlegendes)

Der Dictionary (Wörterbuch) Datentyp ist gemeinsam mit Listen sicher einer der interessantesten in Python. Viele Aufgaben lassen sich mit dict schnell lösen.

dict für Übersetzungen

Mit den dict Datentyp lassen sich wie der Name schon sagt, Wörterbücher einfach organisieren. Dazu benutzen wir die Synthax {:}, also die Gscheiften Klammern mit doppelt Punkt.

Wir wollen ein Englisch-Deutsch Wörterbuch implementieren, welches und die Fraben red, green und blau auf Deutsch übersetzt.

en_de = {
    "red": "rot",
    "green": "green",
    "blue": "blau"
}
en_de
{'red': 'rot', 'green': 'green', 'blue': 'blau'}

Die Einträge vor dem Doppelpunkt : werden als keys bezeichnet und die Werte nach dem Doppelpunkt : als values.

Wir können auf alle Schlüssel mit dict.keys() zugreifen.

en_de.keys()
dict_keys(['red', 'green', 'blue'])

Wir können auf alle Schlüssel mit dict.values() zugreifen.

en_de.values()
dict_values(['rot', 'green', 'blau'])

Das deutsche Wort für red erhalten wir mit:

en_de["red"]
'rot'
len(en_de)
3

dict für Datensätze

Mit dict lassen sich Daten oft sehr gut organisieren. Als Beispiel wollen wir Daten einer Person abspeichern. In unserem Beispiel wollen die drei Eigenschaften Name, Grosse und Haarfarbe einer Person abspeichern.

dict_max = {
    "Name": "Max",
    "Groesse": 185,
    "Haarfarbe": "braun"
}

dict_max
{'Name': 'Max', 'Groesse': 185, 'Haarfarbe': 'braun'}

Auf eie Eigenschaft Grosse kann nun wieder einfach zugegriffen werden.

dict_max['Groesse']
185

Die gemeinsame Nutzung von Wörterbüchern mit Listen stellt sich als sehr praktisch heraus. Wir erstellen einen weitere Person und erzeugen eine Liste welche beide Personen enthält.

dict_moritz = {
    "Name": "Moritz",
    "Groesse": 170,
    "Haarfarbe": "blond"
}

persons = [dict_max, dict_moritz]
persons
[{'Name': 'Max', 'Groesse': 185, 'Haarfarbe': 'braun'},
 {'Name': 'Moritz', 'Groesse': 170, 'Haarfarbe': 'blond'}]

Die Liste können wir nun einfach mit einer for Schleife durchlaufen.

for p in persons:
    print(p['Name'], "ist", p['Groesse'], "cm groß und hat", p['Haarfarbe'], "Haare.")
Max ist 185 cm groß und hat braun Haare.
Moritz ist 170 cm groß und hat blond Haare.

Fortgeschrittene Techniken

Tipp

Für weitere Methoden sei auf Dictionary im Abschnitt Fortgeschrittene verwiesen.