Dictionaries in Python sammeln Wertepaare, welche aus einem Key und einem Wert bestehen. Mit dem Key kann man den enthaltenen Wert jederzeit abfragen.
Dictionaries sind, wie der Name sagt, aufgebaut wie Wörterbücher. Man hat einen Begriff (Key) und eine Beschreibung dazu (Value). Zu einem Dictionary gehören also immer Paare als Einträge.
Wie sind Dictionaries aufgebaut?
dein_dictionary = {"key1" : "value1",
"key2" : "value2"}
- Man markiert Dictionaries, indem man alle Werte mit einer geschweiften Klammer umschließt.
- Erst schreibt man den Key auf, dann einen Doppelpunkt (:) und dann den Value
- Wenn wir mehrere Key:Value Paare haben, müssen wir nach jedem Value ein Komma setzen.
def gruss(vorname):
print(f"Hallo, ich bin {vorname}!")
Wann sind Dictionaries sinnvoll?
Wir können z.B. ein Dictionary erstellen, dass die Übersetzung eines Wortes in verschiedenen Sprachen beinhaltet:
hospital = {"englisch":"hospital",
"spanisch":"hospital",
"französisch":"hôpital",
"deutsch":"Krankenhaus"}
Werte aus Dictionaries ausgeben
Wir können Python auch ganz einfach bitten, uns die französische Übersetzung von unserem hospital-Dictionary auszugeben. Dazu folgen nach dem Dictionary eckige Klammern und darin der gewünschte Key – in unserem Fall ist es „französisch“:
hospital = {"englisch":"hospital",
"spanisch":"hospital",
"französisch":"hôpital",
"deutsch":"Krankenhaus"}
print(hospital["französisch"])
### Output:
>>> hôpital
Dictionaries als Tabellen
Für datenanalytische Zwecke kann man sich vorstellen, dass die Keys Spaltennamen sind. Haben wir sehr viele Dictionaries mit demselben Key, können wir eine Tabelle aufbauen. Aus 10 Dictionaries mit den Keys „Englisch“, „Spanisch“, „Französisch“ und „Deutsch“ lässt sich eine 10-zeilige Tabelle aufbauen.
Englisch | Spanisch | Französisch | Deutsch |
hospital | hospital | hôspital | Krankenhaus |
surprise | sorpresa | surprise | Überraschung |
… | … | … | … |
Diese Tabelle ist quasi eine Liste an Values in einem Dictionary sehen. Dabei nimmt man die Spaltennamen als Keys und die Werte der jeweiligen Zeilen als Value:
uebersetzung = {"englisch":["hospital","surprise"],
"spanisch":["hospital","sorpresa"],
"französisch":["hôpital","surprise"],
"deutsch":["Krankenhaus","Überraschung"]}
Um tatsächlich eine Tabelle auszugeben, kann man dieses Dictionary in ein DataFrame (= Tabelle) aus dem Python Pandas Modul einsetzen. Von dort aus kann man die Daten spielend leicht bearbeiten, erweitern, als Excel-Datei speichern und vieles mehr:
import pandas as pd
uebersetzung_dict = {"englisch":["hospital","surprise"],
"spanisch":["hospital","sorpresa"],
"französisch":["hôpital","surprise"],
"deutsch":["Krankenhaus","Überraschung"]}
tabelle = pd.DataFrame.from_dict(uebersetung_dict)
print(tabelle)
### Output:
englisch spanisch französisch deutsch
0 hospital hospital hôpital Krankenhaus
1 surprise sorpresa surprise Überraschung