Praca z zagnieżdżonymi słownikami
Słownik może zawierać inny słownik jako wartość klucza – to bardzo popularny sposób na przechowywanie powtarzających się struktur danych, takich jak dane roczne, miesięczne czy tygodniowe. Obowiązują tu dokładnie te same zasady, co przy tworzeniu i dostępie do zwykłych słowników.
Na przykład słownik przechowujący ranking spożycia ciasteczek według roku i rodzaju mógłby wyglądać tak: cookies = {'2017': {'chocolate chip': 483, 'peanut butter': 115}, '2016': {'chocolate chip': 9513, 'peanut butter': 6792}}. Dostęp do liczby ciasteczek czekoladowych zjedzonych w 2016 roku uzyskasz za pomocą cookies['2016']['chocolate chip'].
Podczas eksploracji nowego słownika warto skorzystać z metody .keys(), aby sprawdzić, jakie dane są w nim dostępne. Możesz też iterować po słowniku – w każdej iteracji pętla zwróci kolejny klucz, z którego możesz skorzystać wewnątrz pętli.
Do ćwiczenia udostępniono słownik squirrels_by_park, w którym kluczami są nazwy parków, a wartościami – zagnieżdżone słowniki z danymi o wiewiórkach.
To ćwiczenie jest częścią kursu
Typy danych w Pythonie
Instrukcje do ćwiczenia
- Wyświetl klucze słownika
squirrels_by_park. Uwaga: są topark_names. - Wyświetl klucze słownika
squirrels_by_parkdlapark_nameo wartościUnion Square Park. - Przejdź pętlą przez słownik
squirrels_by_park.- Wewnątrz pętli bezpiecznie wyświetl
park_nameorazhighlights_in_fur_color. Wyświetl'N/A', jeśli polehighlights_in_fur_colornie zostanie znalezione lub ma wartośćNone.
- Wewnątrz pętli bezpiecznie wyświetl
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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[____].____('____', '____'))