Python Dictionary: Aufbau, Methoden & Einsatz einfach erklärt
Python Dictionaries speichern Schlüssel-Wert-Paare und sorgen für schnellen Datenzugriff. Hier lernst du Erstellung, Methoden & beste Einsatzfälle.
By Marcel Schmidtpeter 30 Aug 2026
Stell dir vor, du schreibst in deiner Ausbildung dein erstes richtiges Tool: Ein Skript, das Artikelnummern speichert und dazu den Lagerbestand. Mit einer Liste würdest du verzweifeln - wie findest du heraus, zu welcher Nummer welcher Bestand gehört? Genau für solche Fälle gibt es das Python Dictionary: eine Datenstruktur, die Werte über eindeutige Schlüssel statt über Positionen verwaltet.
Was ist ein Dictionary in Python?
Ein Dictionary (kurz: dict) ist eine Sammlung von Schlüssel-Wert-Paaren (Key-Value-Pairs). Jeder Wert wird über einen eindeutigen Schlüssel angesprochen - wie ein Wörterbuch, bei dem du über das Stichwort die Erklärung findest.
# Ein Dictionary mit Schluessel-Wert-Paaren
lager = {"A-1001": 42, "A-1002": 7, "B-2001": 15}
print(lager["A-1001"]) # Ausgabe: 42Stell dir ein Adressbuch vor: Der Name einer Person ist der Schlüssel, die Telefonnummer der Wert. Du suchst nicht "Eintrag Nummer 47", sondern direkt über den Namen. Genau so funktioniert ein Dictionary.
Merke: Ein Python Dictionary speichert Paare aus Schlüssel und Wert. Schlüssel müssen eindeutig sein, Werte dürfen mehrfach vorkommen.
Die offizielle Dokumentation findest du in den Python Docs.
Wie erstellst du ein Dictionary?
Ein Dictionary erstellst du mit geschweiften Klammern `{}`. Links vom Doppelpunkt steht der Schlüssel, rechts der Wert.
# Leeres Dictionary anlegen
benutzer = {}
# Werte hinzufuegen
benutzer["name"] = "Anna"
benutzer["rolle"] = "Admin"
# Alternativ: direkt mit Werten
produkt = {"artikelnummer": "A-1001", "bezeichnung": "USB-Kabel", "preis": 9.99}
print(produkt["bezeichnung"]) # Ausgabe: USB-KabelAls Schlüssel kannst du fast jeden unveränderlichen Datentyp (immutable) nutzen: Strings, Zahlen oder Tupel. Listen als Schlüssel funktionieren nicht - sie sind veränderbar. Werte dürfen dagegen alles sein: Zahlen, Strings, Listen, sogar ganze Dictionaries.
Wann nutzt du ein Dictionary statt einer Liste?
Listen und Dictionaries lösen unterschiedliche Probleme. Eine Liste ist wie ein Regal mit nummerierten Fächern, ein Dictionary wie ein Karteikasten mit Stichworten.
Kriterium | Liste | Dictionary |
Zugriff über | Position (Index) | Schlüssel (Key) |
Suche nach Wert | Langsam (alle Elemente prüfen) | Sehr schnell (direkter Zugriff) |
Reihenfolge | Fix, wichtig | Eingabereihenfolge (ab Python 3.7) |
Typischer Einsatz | Geordnete Sammlungen | Zuordnungen, Lookups |
Merke: Brauchst du eine Zuordnung wie "Name → Telefonnummer", nimm ein Dictionary. Brauchst du eine einfache Reihenfolge, reicht eine Liste.
Mehr zu den anderen Collections wie `list`, `set` und `tuple` findest du in unserem Überblick zu Python Collections. Wer Listen tiefer verstehen will, liest den Beitrag zu Listen in Python.
Welche Methoden hat ein Python Dictionary?
Dictionaries bringen einige eingebaute Methoden mit, die du im Alltag ständig brauchst. Seit Python 3.7 behalten Dictionaries die Einfügereihenfolge bei - das war früher anders.
mitarbeiter = {"anna": "Entwicklung", "ben": "Support", "clara": "Marketing"}
# Alle Schluessel ausgeben
print(mitarbeiter.keys()) # dict_keys(['anna', 'ben', 'clara'])
# Alle Werte ausgeben
print(
mitarbeiter.values()
) # dict_values(['Entwicklung', 'Support', 'Marketing'])
# Alle Paare ausgeben
print(mitarbeiter.items()) # dict_items([('anna', 'Entwicklung'), ...])
# Pruefen, ob ein Schluessel existiert
print("anna" in mitarbeiter) # True
print("david" in mitarbeiter) # False
# Wert sicher abfragen ohne Absturz
print(mitarbeiter.get("david")) # None statt KeyError
print(mitarbeiter.get("david", "unbekannt")) # Standardwert: unbekannt
# Eintrag entfernen und zurueckgeben
abteilung = mitarbeiter.pop("ben")
print(abteilung) # SupportEin Detail, das oft übersehen wird: `keys()`, `values()` und `items()` liefern keine Kopien, sondern Views. Änderst du das Dictionary, spiegeln sie das automatisch wider.
Merke: `get()` liefert bei fehlendem Schlüssel `None` oder einen Standardwert deiner Wahl - eckige Klammern werfen dagegen einen `KeyError`.
Praxisbeispiel: Lagerbestand verwalten
Hier ein kleines, vollständiges Beispiel, wie du ein Dictionary in einem echten Skript einsetzt. Es kombiniert mehrere Techniken aus dem Alltag eines Azubis oder Studierenden:
def lager_verwalten():
lager = {"A-1001": 42, "A-1002": 7, "B-2001": 15}
# Bestand abfragen
artikel = "A-1001"
bestand = lager.get(artikel, 0)
print(f"Bestand von {artikel}: {bestand}")
# Ware auslagern
menge = 5
if lager.get(artikel, 0) >= menge:
lager[artikel] -= menge
print(f"{menge} Einheiten ausgelagert.")
else:
print("Nicht genug Bestand!")
# Neuen Artikel hinzufuegen
lager["C-3001"] = 100
# Komplettes Lager ausgeben
for nummer, anzahl in lager.items():
print(f"{nummer}: {anzahl} Stueck")
lager_verwalten()Die Schleife mit `items()` ist das Standardmuster, um über beide Teile eines Paares gleichzeitig zu iterieren. Das brauchst du überall - von kleinen Skripten bis zu Auswertungen im Job.
Häufige Anfängerfehler
Fehler 1: KeyError durch direkten Zugriff. Der Klassiker: Du greifst auf einen Schlüssel zu, der nicht existiert.
lager = {"A-1001": 42, "A-1002": 7}
# Falsch: wirft einen KeyError
# bestand = lager["X-9999"]
# Richtig: sicher abfragen
bestand = lager.get("X-9999", 0)
print(bestand) # Ausgabe: 0Warum? Weil Python bei eckigen Klammern einen `KeyError` wirft, sobald der Schlüssel fehlt. Mit `get()` passiert das nicht.
Fehler 2: Verwechslung von Schlüssel und Wert. Anfänger greifen oft mit dem Wert statt dem Schlüssel zu. Merke: In die eckigen Klammern gehört immer der Schlüssel - der Teil links vom Doppelpunkt bei der Definition.
Fehler 3: Listen als Schlüssel verwenden. Das schlägt fehl, weil Listen veränderbar sind und Python sie deshalb nicht hashen kann.
# Falsch: Listen sind veraenderbar
# falsch = {[1, 2]: "wert"} # TypeError
# Richtig: Tupel sind unveraenderlich
richtig = {(1, 2): "wert"}
print(richtig[(1, 2)]) # Ausgabe: wertMerke: Nur unveränderliche (hashbare) Typen dürfen als Schlüssel dienen - Strings, Zahlen und Tupel, aber keine Listen.
Hinter diesem Verhalten steht die Hash-Funktion - wie Python intern aus Schlüsseln schnelle Speicheradressen berechnet. Mehr dazu in unserem Artikel zu Dunder-Methoden wie `__hash__`.
Übungstipp
Nimm dein Handy und bau ein kleines Kontaktbuch: Ein Dictionary mit Namen als Schlüsseln und Telefonnummern als Werten. Schreib dann drei Funktionen: `kontakt_hinzufuegen()`, `kontakt_suchen()` mit `get()` und `kontakt_loeschen()` mit `pop()`. So übst du in 20 Minuten alle Kernoperationen - und hast ein lauffähiges Mini-Tool.
FAQ: Häufige Fragen zu Python Dictionaries
Kann ein Dictionary doppelte Schlüssel haben?
Nein. Schlüssel müssen eindeutig sein. Weist du einem existierenden Schlüssel einen neuen Wert zu, überschreibst du den alten stillschweigend.
Kann ich Dictionaries verschachteln?
Ja, beliebig tief. Ein Dictionary als Wert innerhalb eines Dictionary ist völlig normal - etwa wenn du einem Benutzer mehrere Attribute gibst.
Ist ein Dictionary geordnet?
Seit Python 3.7 ja, es behält die Einfügereihenfolge bei. Vorher brauchte man dafür `OrderedDict` aus dem collections-Modul.
Wie durchsuche ich ein Dictionary?
Über den Schlüssel mit `dictionary[schluessel]` oder sicher mit `get()`. Zum Durchlaufen aller Einträge nutzt du `items()` in einer for-Schleife.
Was ist schneller: Dictionary oder Liste?
Der Zugriff über einen Schlüssel ist im Dictionary praktisch konstant schnell - egal ob 10 oder 10 Millionen Einträge. Eine Liste muss für die Suche dagegen elementweise durchlaufen werden.
Fazit
Das Python Dictionary ist neben der Liste die wichtigste Datenstruktur der Sprache. Sobald es um Zuordnungen geht - Artikelnummern zu Beständen, Namen zu Adressen, Konfigurationen zu Werten - greifst du zu `dict`. Die Kernidee ist einfach: eindeutige Schlüssel, schnelle Zugriffe, flexible Werte.
Wenn du bei Python, Datenstrukturen oder anderen IT-Themen aus Ausbildung, Studium oder Berufseinstieg feststeckst: Wir von study-it.education unterstützen dich mit persönlicher Nachhilfe - einzeln, verständlich und auf deinem Niveau. Schau vorbei und lass uns deine offenen Fragen klären.
Want 1:1 help with this topic?
Need someone to walk through this with you?
Instead of re-reading: 30 min with a senior dev.
Book a free first chat →
Python Dictionaries speichern Schlüssel-Wert-Paare und sorgen für schnellen Datenzugriff. Hier lernst du Erstellung, Methoden & beste Einsatzfälle.
marcel.schmidtpeter@study-it.education →More reading
Python None Optional: None-Werte sicher behandeln – einfach erklärt
None-Werte sicher behandeln: Erfahre, wie Optional und Typannotationen in Python funktionieren und wie du typische None-Fehler vermeidest.
Python List Comprehension map filter: Einfach erklärt mit Beispielen
List Comprehensions, map und filter im Vergleich: So filterst und transformierst du Daten in Python – mit anschaulichen Beispielen für den Einstieg.
Python Typannotationen und Generics einfach erklärt
Typannotationen und Generics in Python erklärt: So nutzt du Type Hints für lesbaren, wartbaren Code – mit Beispielen für Einsteiger.