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.
dein_dictionary = {"key1" : "value1",
"key2" : "value2"}
def gruss(vorname):
print(f"Hallo, ich bin {vorname}!")
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"}
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
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