Python-Wörterbücher: Struktur und Hash-Maps

Meister-Python-Wörterbücher. Erfahren Sie, wie Sie Schlüssel-Wert-Paardaten speichern, abrufen und verarbeiten. Verstehen Sie die Leistung und Best Practices für Zuordnungen.

Versuchen Sie es im Editor

Übersicht

Wörterbücher sind wohl die wichtigste und optimierteste Datenstruktur in Python. Ein Wörterbuch ist eine veränderbare Sammlung von Datenwerten, die in „Schlüssel:Wert“-Paaren gespeichert sind. Wenn Sie sich ein reales Wörterbuch vorstellen, ist der „Schlüssel“ das Wort, nach dem Sie suchen, und der „Wert“ ist die Definition. Diese Paarungsstruktur macht es unglaublich effizient, relationale Daten abzurufen, zu aktualisieren und zu verwalten.

Unter der Haube werden Python-Wörterbücher als hochoptimierte Hash-Tabellen (oder Hash-Maps) implementiert. Dies impliziert, dass das Abrufen eines Werts über seinen Schlüssel eine „O(1)“-Operation mit konstanter Zeit ist. Unabhängig davon, ob Ihr Wörterbuch zehn Elemente oder zehn Millionen Elemente enthält, kann Python sofort direkt zur Speicheradresse des Werts springen, ohne die gesamte Sammlung durchsuchen zu müssen.

Um ein Wörterbuch zu definieren, verwenden Sie geschweifte Klammern „{}“ mit Schlüsseln und Werten, die durch Doppelpunkte „:“ getrennt sind. Schlüssel müssen unveränderliche Typen sein (wie Zeichenfolgen, Ganzzahlen oder Tupel), was bedeutet, dass Sie eine Liste nicht als Wörterbuchschlüssel verwenden können. Werte können jedoch absolut alles sein – einschließlich Listen, Objekte oder sogar tief verschachtelte Wörterbücher, was sie perfekt für die Darstellung von JSON-ähnlichen Datenstrukturen macht.

Der Zugriff auf Werte erfolgt mithilfe der Klammernotation (z. B. „Benutzer[„Name“]“). Wenn der Schlüssel jedoch nicht vorhanden ist, löst dieser Ansatz einen „KeyError“ aus und stoppt die Programmausführung sofort. Um sichereren Code zu schreiben, verwenden Profis die Methode „.get()“ (z. B. „user.get(“name“)“, die bei fehlendem Schlüssel problemlos „None“ oder einen benutzerdefinierten Standardwert zurückgibt und so unnötige Abstürze verhindert.

Historisch gesehen waren Python-Wörterbücher völlig ungeordnet. AbPython 3.7 wird jedoch offiziell garantiert, dass Wörterbücher die Einfügereihenfolge beibehalten. Das bedeutet, dass beim Durchlaufen eines Wörterbuchs mit Methoden wie „.keys()“, „.values()“ oder „.items()“ die Elemente in der exakten Reihenfolge zurückgegeben werden, in der sie ursprünglich zum Wörterbuch hinzugefügt wurden, wodurch die Geschwindigkeit von Hash-Maps mit der Vorhersagbarkeit von Listen kombiniert wird.

Code- und Ausführungsausgabe

Erstellen eines Benutzerkonfigurationsprofils unter starker Nutzung verschachtelter Schlüssel-Wert-Paare.

user = {
    "username": "coder123",
    "role": "admin",
    "active": True
}

user["last_login"] = "2026-04-10" # Adding a key
print(f"Username is {user['username']}")

# Iterating over key-value pairs
for key, value in user.items():
    print(f"{key}: {value}")
Terminal-Ausgabe
Username is coder123
username: coder123
role: admin
active: True
last_login: 2026-04-10

Schrittweise Umsetzung

  • Verarbeiten von JSON-Antworten von REST-APIs
  • Zuordnung eindeutiger IDs zu großen Datenobjekten
  • Speichern von Anwendungskonfigurationsparametern

Häufig gestellte Fragen

Was passiert, wenn ich versuche, auf einen Schlüssel zuzugreifen, der nicht existiert?

Die Verwendung der Klammernotation (user["name"]) löst einen KeyError aus. Verwenden Sie user.get("name"), um stattdessen None ohne Auslösen zurückzugeben.

Verwandte Themen

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.