Werken met geneste, gemengde types
Eerder gebruikten we de expressie in om te zien of data in een dictionary zit, zoals if 'cookies' in recipes_dict. Maar wat als we data willen vinden in een dictionarysleutel die zelf een lijst met dictionaries is? In dat geval kun je een for-lus gebruiken om over de items in de geneste lijst te lopen en ermee te werken. Daarnaast kun je list comprehensions gebruiken om geneste lijsten met dictionaries effectief te filteren. Bijvoorbeeld: [cookie for cookie in recipes["cookies"] if "chocolate chip" in cookie["name"]] geeft een lijst terug van cookies in de recipes-lijst die "chocolate chip" in de sleutel name van de cookie hebben.
We hebben een dictionary squirrels_by_park geladen met parknamen als sleutels en een lijst met dictionaries van de eekhoorns.
Deze oefening maakt deel uit van de cursus
Datatypen in Python
Oefeninstructies
- Gebruik een for-lus om te itereren over de eekhoorns die zijn gevonden onder de sleutel
Tompkins Square Parkvansquirrels_by_park:- Print elke activiteiten van elke eekhoorn veilig.
- Print de lijst van eekhoorns met
primary_fur_color'Cinnamon'die zijn gevonden inUnion Square Parkmet een list comprehension.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Use a for loop to iterate over the squirrels in Tompkins Square Park:
for squirrel in ____["____"]:
# Safely print the activities of each squirrel or None
print(____.____("____"))
# Print the list of 'Cinnamon' primary_fur_color squirrels in Union Square Park
print([squirrel for squirrel in ____["____"] if "____" ____ ____["____"]])