Python Dictionary: Erstellung und Arbeit mit Schlüsseln
Dictionaries (Wörterbücher) gehören zu den leistungsstärksten und flexibelsten Datenstrukturen in Python. Sie speichern Daten im Format "Schlüssel-Wert". Dank ihrer Flexibilität und dem schnellen Zugriff auf Daten werden Dictionaries häufig bei der Arbeit mit JSON-Dateien, Datenbanken und Konfigurationen eingesetzt. Auch in vielen anderen Bereichen der Programmierung sind sie unverzichtbar.
In diesem Leitfaden zeigen wir dir Schritt für Schritt, wie du Dictionaries in Python erstellst. Du lernst den Umgang mit Schlüsseln und Werten sowie die wichtigsten Methoden und Best Practices kennen.
Was ist ein Dictionary in Python?
Ein Dictionary ist eine Sammlung, die Schlüssel-Wert-Paare speichert. Die Schlüssel müssen eindeutig und unveränderlich sein. Als Schlüssel können Zahlen, Zeichenketten oder Tupel verwendet werden. Die Werte können beliebige Python-Objekte sein.
Die wichtigsten Eigenschaften von Dictionaries:
- Ungeordnete Datensammlung (vor Python 3.7)
- Veränderbare Datenstruktur
- Schneller Zugriff auf Elemente über den Schlüssel
- Automatisches Hashing der Schlüssel
person = {
"name": "Max",
"age": 30,
"city": "Berlin"
}
Besonderheiten von Dictionary-Schlüsseln
Dictionary-Schlüssel müssen bestimmte Anforderungen erfüllen:
- Sie müssen von einem unveränderlichen Datentyp sein
- Sie müssen innerhalb eines Dictionaries eindeutig sein
- Sie müssen Hash-fähig sein
Wie erstellt man ein Dictionary in Python?
Mit geschweiften Klammern
Die gebräuchlichste Methode zur Erstellung eines Dictionaries sind geschweifte Klammern. Diese Methode ist intuitiv und wird von Entwicklern häufig verwendet.
auto = {"marke": "Toyota", "jahr": 2020, "farbe": "weiß"}
Erstellung mit der Funktion dict()
Die Funktion dict() bietet eine alternative Möglichkeit zur Erstellung von Dictionaries. Dieser Ansatz ist besonders nützlich, wenn Dictionaries aus anderen Datenstrukturen erstellt werden sollen.
auto = dict(marke="Toyota", jahr=2020, farbe="weiß")
Erstellung eines leeren Dictionaries
Leere Dictionaries werden erstellt, um sie später mit Daten zu füllen. Das ist nützlich bei der Initialisierung von Datenstrukturen.
leeres_dict = {}
# oder
leeres_dict = dict()
Dictionary aus Sequenzen erstellen
Dictionaries können aus Listen von Tupeln oder anderen Sequenzen erstellt werden:
paare = [("name", "Anna"), ("alter", 25), ("stadt", "München")]
person_dict = dict(paare)
Arbeiten mit Dictionary-Schlüsseln
Zugriff auf Werte über den Schlüssel
Um einen Wert über seinen Schlüssel zu erhalten, wird die eckige Klammer-Syntax verwendet. Beim Zugriff auf einen nicht vorhandenen Schlüssel wird eine KeyError-Ausnahme ausgelöst.
person = {"name": "Max", "alter": 30}
print(person["name"]) # Ausgabe: Max
Sicherer Zugriff mit der Methode get()
Die Methode get() bietet einen sicheren Weg, um Werte abzurufen. Wenn der Schlüssel fehlt, wird ein Standardwert zurückgegeben, anstatt eine Ausnahme auszulösen.
print(person.get("stadt", "Stadt nicht angegeben")) # Ausgabe: Stadt nicht angegeben
print(person.get("name")) # Ausgabe: Max
Hinzufügen und Ändern von Werten
Dictionaries unterstützen das dynamische Hinzufügen neuer Elemente. Wenn einem vorhandenen Schlüssel ein Wert zugewiesen wird, wird der bestehende Wert aktualisiert.
person["stadt"] = "Berlin" # Neuen Schlüssel hinzufügen
person["alter"] = 31 # Vorhandenen Wert ändern
Entfernen von Schlüsseln aus einem Dictionary
Es gibt mehrere Möglichkeiten, Elemente aus einem Dictionary zu entfernen:
del person["alter"] # Entfernt den Schlüssel 'alter' und seinen Wert
entfernter_wert = person.pop("stadt") # Entfernt 'stadt' und gibt den Wert zurück