Praca z zagnieżdżonymi typami mieszanymi
Wcześniej używaliśmy wyrażenia in, aby sprawdzić, czy dane istnieją w słowniku – na przykład if 'cookies' in recipes_dict. Co jednak zrobić, gdy chcemy znaleźć dane w kluczu słownika, którego wartością jest lista słowników? W takim przypadku możemy użyć pętli for, aby iterować po elementach zagnieżdżonej listy i wykonywać na nich operacje. Możemy też skorzystać z wyrażeń listowych, które pozwalają efektywnie filtrować zagnieżdżone listy słowników. Na przykład: [cookie for cookie in recipes["cookies"] if "chocolate chip" in cookie["name"]] zwróci listę ciastek z listy recipes, które mają "chocolate chip" w kluczu "name".
Załadowaliśmy słownik squirrels_by_park, w którym kluczami są nazwy parków, a wartościami – listy słowników opisujących wiewiórki.
To ćwiczenie jest częścią kursu
Typy danych w Pythonie
Instrukcje do ćwiczenia
- Użyj pętli
for, aby iterować po wiewiórkach z kluczaTompkins Square Parkw słownikusquirrels_by_park:- Bezpiecznie wypisz aktywności każdej wiewiórki.
- Wypisz listę wiewiórek o
primary_fur_colorrównym'Cinnamon'znalezionych wUnion Square Park, korzystając z wyrażenia listowego.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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 "____" ____ ____["____"]])