IniziaInizia gratis

Gestire tipi misti annidati

In precedenza abbiamo usato l’espressione in per vedere se un dato è in un dizionario, ad esempio if 'cookies' in recipes_dict. Ma cosa succede se vogliamo cercare dati in una chiave del dizionario che è una lista di dizionari? In questo caso, possiamo usare un ciclo for per scorrere gli elementi nella lista annidata e operarci sopra. Inoltre, possiamo sfruttare le list comprehension per filtrare in modo efficace liste annidate di dizionari. Per esempio: [cookie for cookie in recipes["cookies"] if "chocolate chip" in cookie["name"]] restituirebbe una lista di cookie nella lista recipes che hanno "chocolate chip" nella chiave name del cookie.

Abbiamo caricato un dizionario squirrels_by_park con i nomi dei parchi come chiavi e una lista di dizionari degli scoiattoli come valori.

Questo esercizio fa parte del corso

Tipi di dati in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Usa un ciclo for per iterare sugli scoiattoli presenti nella chiave Tompkins Square Park di squirrels_by_park:
    • Stampa in modo sicuro le attività di ciascuno scoiattolo.
  • Stampa la lista degli scoiattoli con primary_fur_color 'Cinnamon' trovati in Union Square Park usando una list comprehension.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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 "____" ____ ____["____"]])
Modifica ed esegui il codice