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
Instructions de l’exercice
- Affichez les clés du dictionnaire
squirrels_by_park. NOTE : ce sont lespark_names. - Affichez les clés du dictionnaire
squirrels_by_parkpour lepark_nameUnion Square Park. - Parcourez le dictionnaire
squirrels_by_park.- À l'intérieur de la boucle, affichez de façon sécuritaire le
park_nameet lehighlights_in_fur_color. Affichez'N/A'sihighlights_in_fur_colorest introuvable ou vaut None.
- À l'intérieur de la boucle, affichez de façon sécuritaire le
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[____].____('____', '____'))