Umgang mit verschachtelten Wörterbüchern
Ein Wörterbuch kann ein anderes Wörterbuch als Wert eines Schlüssels enthalten. Dies ist eine sehr gängige Methode, um mit sich wiederholenden Datenstrukturen wie Jahres-, Monats- oder Wochendaten umzugehen. Für die Erstellung oder den Zugriff auf das Wörterbuch gelten die gleichen Regeln.
Wenn du zum Beispiel ein Wörterbuch hättest, das eine Rangliste meines Keksverbrauchs nach Jahr und Art des Kekses enthält. Es könnte wie cookies = {'2017': {'chocolate chip': 483, 'peanut butter': 115}, '2016': {'chocolate chip': 9513, 'peanut butter': 6792}}
aussehen. Ich konnte mit cookies['2016']['chocolate chip']
herausfinden, wie viele Schokokekse ich 2016 gegessen habe.
Bei der Erkundung eines neuen Wörterbuchs kann es hilfreich sein, die Methode .keys()
zu verwenden, um eine Vorstellung davon zu bekommen, welche Daten im Wörterbuch vorhanden sein könnten. Du kannst auch über ein Wörterbuch iterieren und es gibt jeden Schlüssel im Wörterbuch zurück, den du in der Schleife verwenden kannst.
Wir haben ein squirrels_by_park
Wörterbuch mit Parknamen für die Schlüssel und ein verschachteltes Wörterbuch mit den Daten eines Eichhörnchens geladen.
Diese Übung ist Teil des Kurses
Datentypen in Python
Anleitung zur Übung
Drucke die Schlüssel des
squirrels_by_park
Wörterbuchs, NOTE: Sie sindpark_names
.Drucke die Schlüssel des
squirrels_by_park
Wörterbuchs für den park_nameUnion Square Park
.Überfliege das
squirrels_by_park
Wörterbuch.- Drucke innerhalb der Schleife sicher die
park_name
und diehighlights_in_fur_color
aus. Druckt'N/A'
, wenn die Farbe highlightsinfur_color nicht gefunden wird oder keine ist.
- Drucke innerhalb der Schleife sicher die
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Print a list of keys from the squirrels_by_park dictionary
print(____)
# Print the keys from the squirrels_by_park dictionary for 'Union Square Park'
print(____)
# Loop over the dictionary
for park_name in squirrels_by_park:
# Safely print the park_name and the highlights_in_fur_color or 'N/A'
print(park_name, squirrels_by_park[____].____('____', '____'))