Python lernen · 04.09.2026
Python lernen: Dictionaries
Dictionaries speichern Werte unter Namen (Schlüsseln) — wie ein Nachschlagewerk statt einer nummerierten Kette. Mit Zähler-Muster, Verschachtelung, Übungen und Quiz.
Listen nummerieren, Dictionaries beschriften: Statt „das dritte Element“ sprichst du beim Dictionary direkt beim Namen — held["gold"] statt held[2]. Damit modellierst du Dinge, die aus vielen Eigenschaften bestehen: Spieler, Räume, Gegenstände.
Schlüssel und Werte
held = {"name": "Mirabel", "hp": 30, "gold": 12}
print(held["name"]) # Mirabel
held["gold"] += 5 # Werte ändern
held["waffe"] = "Elfenbogen" # neuer Eintrag anlegen
del held["hp"] # Eintrag löschenSicher zugreifen
Fehlende Schlüssel werfen einen KeyError. Mit .get() bestimmst du einen Ersatzwert, mit in prüfst du vorher:
print(held.get("ruestung", "nur Kleidung"))
if "waffe" in held:
print("Bewaffnet:", held["waffe"])Über alles laufen
for schluessel, wert in held.items():
print(schluessel, "=", wert)Verschachtelte Welten
Werte dürfen selbst Listen oder Dictionaries sein — so baut man echte Datenstrukturen. Falkenmoor verwaltet seine Spieler genau so:
helden = {
"Mirabel": {"hp": 30, "inventar": ["Schwert", "Brot"]},
"Thorak": {"hp": 40, "inventar": ["Axt"]},
}
print(helden["Mirabel"]["inventar"][0]) # SchwertDas Zähler-Muster
Ein Muster, das du in jedem zweiten Programm wiederfindest: etwas zählen mit .get(..., 0) + 1.
text = "falkenmoor"
zaehler = {}
for buchstabe in text:
zaehler[buchstabe] = zaehler.get(buchstabe, 0) + 1
print(zaehler)Liste oder Dictionary?
- Liste, wenn die Reihenfolge zählt und die Teile gleichartig sind (Inventar, Gegnerwelle, Bestenliste).
- Dictionary, wenn du per Namen zugreifen willst (Eigenschaften eines Helden, Übersetzungstabelle, Zähler).
- Kombiniert entstehen richtige Datenmodelle — siehe „Verschachtelte Welten“.
So übst du das
- Wörterbuch DE→EN: Fünf Vokabeln als Dict, ein kleines Abfrageprogramm mit
input(). - Buchstabenzähler: Das Zähler-Muster auf beliebige Texte anwenden — welcher Buchstabe ist am häufigsten?
- Spielerdatei: Baue ein Helden-Verzeichnis wie oben und lasse HP von einem beliebigen Helden ausgeben.
- Lager mit Mengen:
{"Brot": 3, "Trank": 1}— verkaufe einen Trank und lösche den Schlüssel bei Menge 0.
Übungen
Übung 1 — Heldendatei
Lege ein Dictionary für einen Helden an (Name, HP, Gold), erhöhe das Gold um 15 und füge die Waffe hinzu. Gib alles mit items() aus.
Musterlösung zeigen
held = {"name": "Thorak", "hp": 40, "gold": 8}
held["gold"] += 15
held["waffe"] = "Axt"
for schluessel, wert in held.items():
print(schluessel, "=", wert)Übung 2 — Buchstabenzähler
Zähle die Buchstaben von "Falkenmoor" mit dem Zähler-Muster und gib das Ergebnis aus.
Musterlösung zeigen
text = "Falkenmoor"
zaehler = {}
for z in text.lower():
zaehler[z] = zaehler.get(z, 0) + 1
print(zaehler)Übung 3 — Kleinwörterbuch
Übersetze mit einem Dict fünf deutsche Wörter ins Englische — gib „unbekannt“ aus, wenn das Wort fehlt.
Musterlösung zeigen
woerter = {"schwert": "sword", "gold": "gold", "turm": "tower"}
wort = "turm"
print(woerter.get(wort, "unbekannt"))Übung 4 — Gemeinsame Schlüssel
Zwei Dictionaries liegen vor — finde die Schlüssel, die in beiden stecken (Tipp: in und eine Schleife).
Musterlösung zeigen
a = {"gold": 1, "hp": 2, "mana": 3}
b = {"hp": 9, "waffe": 1, "mana": 5}
for k in a:
if k in b:
print(k, a[k], b[k])Quiz — Teste dich
Erst überlegen, dann aufklappen — so trainiert es am meisten!
d = {}, dannd["a"]— was passiert?- Was liefert
d.get("a", 0), wenn"a"fehlt? d = {"x": 1, "x": 2}— was enthält das Dictionary?- Was gibt
len({"a": 1, "b": 2})aus? - Welche dieser Typen ist als Dictionary-Schlüssel nicht erlaubt:
"name",42,[1, 2]?
Quiz-Lösungen anzeigen
- Ein
KeyError— der Schlüssel existiert nicht. 0— der angegebene Ersatzwert.{"x": 2}— bei doppelten Schlüsseln gewinnt der letzte.2— die Anzahl der Schlüssel-Wert-Paare.[1, 2]— Listen sind veränderbar und damit als Schlüssel tabu; Texte und Zahlen sind erlaubt.
↩ Vorheriger Teil: Listen
Weiter geht's mit dem nächsten Teil: Klassen
Mehr aus der Kategorie „Python lernen“
- Python lernen: Tests 13.09.2026
- Python lernen: Dein Einstieg 10.09.2026
- Python lernen: Variablen 09.09.2026
- Python lernen: Konditionen (if/elif/else) 08.09.2026