0%

Dictionaries und andere Sammlungen · Übung

Ein Dictionary erstellen und lesen

Ein Dictionary-Literal verwendet geschweifte Klammern:

book = {
    "title": "Kindred",
    "creator": "Octavia E. Butler",
    "year": 1979,
}

Jeder Eintrag hat drei Teile:

"title": "Kindred"
#  key       value

Ein Doppelpunkt trennt den Schlüssel von seinem Wert. Kommas trennen die Einträge voneinander.

Das Komma nach dem letzten Eintrag ist optional. Wenn du es beibehältst, lässt sich das Dictionary leichter erweitern, und jeder Eintrag folgt demselben Muster.

Werte können unterschiedliche Typen haben

Das Beispiel enthält zwei Strings und eine ganze Zahl. Das ist ganz normal:

event = {
    "name": "Python meetup",
    "seats": 40,
    "online": False,
}

Ein Dictionary fasst zusammengehörige Fakten zusammen. Die Werte müssen nicht denselben Typ haben.

Verwende vorerst Strings als Schlüssel. Python erlaubt auch einige andere unveränderbare Typen als Schlüssel, aber Feldnamen wie "title" und "year" machen Datensätze für Anfänger besonders gut lesbar.

Über den Schlüssel lesen

Verwende eckige Klammern mit dem genauen Schlüssel:

print(book["title"])
print(book["year"])

Das gibt Folgendes aus:

Kindred
1979

Bei Schlüsseln kommt es auf die Schreibweise und auf Groß- und Kleinschreibung an. "title" und "Title" sind unterschiedliche Schlüssel.

Ein leeres Dictionary

Leere geschweifte Klammern erstellen ein leeres Dictionary:

record = {}
print(type(record))

Gegen Ende des Kapitels lernst du Sets kennen. Auch Sets verwenden geschweifte Klammern, wenn sie Werte enthalten. {} bedeutet aber immer ein leeres Dictionary.

Nach einem vorhandenen Schlüssel fragen

Der Zugriff mit eckigen Klammern erwartet, dass der Schlüssel vorhanden ist:

book["publisher"]

Wenn "publisher" fehlt, löst Python einen KeyError aus. Verwende in dieser Lektion bekannte Schlüssel. Lektion 4 zeigt dir zwei bewusste Möglichkeiten, mit optionalen Feldern umzugehen.

Welcher Wert ist ein Dictionary mit den Schlüsseln "name" und "score"?

Aufgabe

Erstelle ein Dictionary namens book mit genau diesen Einträgen:

SchlüsselWert
"title""Kindred"
"creator""Octavia E. Butler"
"year"1979

Gib dann die Werte mit drei Zugriffen über eckige Klammern in genau dieser Reihenfolge aus:

Kindred
Octavia E. Butler
1979