Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Nachschlagen über einen Schlüssel

Nach dieser Lektion: Ich kann einen Wert über seinen Schlüssel nachschlagen.

Lektion, 45 Min.Keine Befehle

Die Kundin ruft an

Eine Kundin nennt ihre Kundennummer. Im Support erscheint sofort ihr Name, ihre Adresse und ihre letzte Bestellung.

Niemand blättert dafür durch Tausende von Kunden. Das Programm schlägt die Nummer nach und springt zum Treffer. Diese Lektion zeigt, wie das geht.

Am Ende dieser Lektion

Notiz

Ich kann einen Wert über seinen Schlüssel nachschlagen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
WörterbuchPaare aus Schlüssel und Wert{"K-1001": "Anna Berger"}
Schlüsselder Name, unter dem ein Wert liegt
Wertdie Daten, die zu einem Schlüssel gehören
Mapder allgemeine Name für ein Wörterbuch in der IT
MengeEinträge ohne Reihenfolge, jeder höchstens einmalset()
Hasheine Zahl, aus der sich der Platz eines Schlüssels ergibt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein Wörterbuch schlägt über Schlüssel nach

Eine Liste fragen Sie nach der Stelle. Ein Wörterbuch fragen Sie nach einem Schlüssel.

Jeder Schlüssel zeigt auf einen Wert. Mit kunden["K-1002"] bekommen Sie den Namen zur Nummer K-1002. Mit "K-1005" in kunden prüfen Sie, ob es den Schlüssel gibt.

Probieren Sie es: Kunden nachschlagen

Code: python
# Ein Wörterbuch: Kundennummer -> Name.
kunden = {
    "K-1001": "Anna Berger",
    "K-1002": "Jonas Keller",
    "K-1003": "Mira Sommer",
}

print(kunden["K-1002"])        # nachschlagen über den Schlüssel

kunden["K-1004"] = "Lukas Brandt"   # neuen Eintrag anlegen
kunden["K-1001"] = "Anna Weiss"     # vorhandenen Wert ersetzen
print(len(kunden))

if "K-1005" in kunden:
    print("K-1005 gibt es")
else:
    print("K-1005 gibt es nicht")

# Legen Sie einen Kunden "K-1005" an und drücken Sie Run.

Beispiel: das Kundenwörterbuch

SchlüsselWertSo fragen Sie danach
K-1001Anna Bergerkunden["K-1001"]
K-1002Jonas Kellerkunden["K-1002"]
K-1003Mira Sommerkunden["K-1003"]

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Warum das Nachschlagen schnell geht

Eine Liste müssten Sie von vorn durchsuchen, bis Sie den Kunden finden. Bei einer Million Kunden dauert das lange.

Ein Wörterbuch rechnet aus dem Schlüssel einen Hash, eine Zahl. Sie sagt, wo der Wert liegt. Der Computer springt direkt dorthin. Dafür braucht er fast immer einen einzigen Schritt, egal wie viele Einträge es gibt.

Beispiel: Schritte bis zum Treffer

KundenListe durchsuchen (im Mittel)Wörterbuch
100etwa 50 Schritteetwa 1 Schritt
10.000etwa 5000 Schritteetwa 1 Schritt
1.000.000etwa 500.000 Schritteetwa 1 Schritt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine Menge kennt jeden Eintrag nur einmal

Manchmal brauchen Sie nur die Frage: Ist das schon da? Dafür gibt es die Menge.

Eine Menge hat keine Reihenfolge und keine doppelten Einträge. Fügen Sie etwas zweimal hinzu, bleibt es einmal drin. Auch die Frage x in menge geht schnell, aus demselben Grund wie beim Wörterbuch.

Probieren Sie es: doppelte Rechnungen erkennen

Code: python
# Eine Menge: jede Rechnungsnummer höchstens einmal.
gebucht = set()

for nummer in ["R-1", "R-2", "R-1", "R-3", "R-2"]:
    gebucht.add(nummer)

print(len(gebucht))            # 3, nicht 5
print("R-2" in gebucht)        # True
print("R-9" in gebucht)        # False

# Fügen Sie "R-9" hinzu und prüfen Sie es erneut.

Ein häufiger Fehler

Warnung

Viele denken, man könne ein Wörterbuch über eine Stelle ansprechen, wie eine Liste. Ein Wörterbuch wird über den Schlüssel angesprochen. Fragen Sie nach einem Schlüssel, den es nicht gibt, bricht das Programm mit einem KeyError ab. Prüfen Sie vorher mit in.

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.