Skip to main content

Dictionaries in Python

Neben Listen und Tupeln, gehören Dictionaries zu den wichtigsten Datenstrukturen in Python. Im Gegensatz zu vielen anderen Programmiersprachen sind Dictionaries in Python fester Bestandteil der Sprache. Python stellt uns eine komfortable Syntax zur Verfügung um damit zu arbeiten.

Im folgenden Video wird gezeigt, wie man Dictionaries erzeugt, wie man Elemente hinzufügt, verändert und entfernen kann und wie man mithilfe einer for-Schleife über alle Elemente im Dictionary iterieren kann.

Typannotationen

Auch für Dictionaries können wir Typannotationen verwenden. Der Mechanismus sollte sie nun nicht weiter überraschen. Der Typ eines Dictionaries ist dict und ein Dictionary besteht aus Schlüsseln und Werten, die selbst wieder einen Typ haben. Entsprechend müssen wir die Typen der Schlüssel und Werte angeben. Wie das geht, sehen Sie im folgenden Beispiel, bei dem wir ein Dictionary mit Schlüsseln vom Typ str und Werten vom Typ int definieren.

birth_calendar: dict[str, int] = { "Hans": 1990,  "Anna": 1995, "Jonas": 2000 }

Genau wie bei den Listen, wird der Typ der Elemente innerhalb der eckigen Klammern angegeben. Die Typen der Schlüssel und Werte werden durch ein Komma getrennt.

Experimente

Wie immer sollten Sie nun gleich selbst mit den Konzepten experimentieren.

  • Schreiben Sie die Iteration über die Einträge so um, dass das Tuple-Unpacking erst im Code-Block gemacht wird.
  • Können Sie ein Dictionary von Dictionaries erstellen? Zum Testen erweitern Sie den birth_calendar zu einem birthday_calendar (kopieren Sie dazu die Definition). Ändern Sie die Werte jeweils ab von der reinen Jahreszahl zu einem Dictionary. Speichern Sie zusätzlich zum Jahr für Hans den Monat "Mai", für Anna den Tag 23, und für Jonas den Monat "Februar" sowie den Tag 7.
  • Können Sie vom erweiterten Kalender alle Werte mit nur zwei geschachtelten for-Schleifen ausgeben?
  • Fügen Sie Typannotationen zum Code hinzu.

Fragen und Kommentare

Haben Sie Fragen oder Kommentare zu diesem Artikel? Nutzen Sie das Forumd helfen Sie sich und Ihren Mitstudierenden dieses Thema besser zu verstehen.