CommencezCommencez gratuitement

Gérer les dictionnaires imbriqués

Un dictionnaire peut contenir un autre dictionnaire comme valeur d'une clé, et c'est une façon très courante de gérer des structures de données répétitives, comme des données annuelles, mensuelles ou hebdomadaires. Les mêmes règles s'appliquent pour créer ou accéder au dictionnaire.

Par exemple, si vous avez un dictionnaire qui classe ma consommation de biscuits par année et par type de biscuit, il pourrait ressembler à ceci : cookies = {'2017': {'chocolate chip': 483, 'peanut butter': 115}, '2016': {'chocolate chip': 9513, 'peanut butter': 6792}}. Je pourrais accéder au nombre de biscuits aux brisures de chocolat que j'ai mangés en 2016 avec cookies['2016']['chocolate chip'].

Lorsque vous explorez un nouveau dictionnaire, il peut être utile d'utiliser la méthode .keys() pour avoir une idée des données disponibles dans le dictionnaire. Vous pouvez aussi itérer sur un dictionnaire, ce qui retournera chaque clé à utiliser dans la boucle.

Nous avons chargé un dictionnaire squirrels_by_park où les noms de parcs sont les clés et la valeur est un dictionnaire imbriqué contenant des données sur un écureuil.

Cette activité fait partie du cours

Types de données en Python

Voir le cours

Instructions de l’exercice

  • Affichez les clés du dictionnaire squirrels_by_park. NOTE : ce sont les park_names.
  • Affichez les clés du dictionnaire squirrels_by_park pour le park_name Union Square Park.
  • Parcourez le dictionnaire squirrels_by_park.
    • À l'intérieur de la boucle, affichez de façon sécuritaire le park_name et le highlights_in_fur_color. Affichez 'N/A' si highlights_in_fur_color est introuvable ou vaut None.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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[____].____('____', '____'))
Modifier et exécuter le code