Fonctionnement des dictionnaires imbriqués
Un dictionnaire peut contenir un autre dictionnaire comme valeur d'une clé. C'est une façon très courante de traiter les structures de données répétitives telles que les données annuelles, mensuelles ou hebdomadaires. Les mêmes règles s'appliquent lors de la création ou de l'accès au dictionnaire.
Par exemple, supposons que vous disposiez d'un dictionnaire contenant un classement de ma consommation de cookies par année et par type de cookies. Il ressemblerait à ceci : cookies = {'2017': {'chocolate chip': 483, 'peanut butter': 115}, '2016': {'chocolate chip': 9513, 'peanut butter': 6792}}
. Je pourrais accéder au nombre de cookies aux pépites de chocolat que j'ai mangés en 2016 en utilisant cookies['2016']['chocolate chip']
.
Lorsque vous explorez un nouveau dictionnaire, la méthode .keys()
peut être utile pour vous faire une idée des données disponibles dans le dictionnaire. Vous pouvez également itérer sur un dictionnaire, et il vous renverra chaque clé du dictionnaire pour que vous puissiez l'utiliser à l'intérieur de la boucle.
Nous avons chargé un dictionnaire squirrels_by_park
avec des noms de parcs pour les clés et un dictionnaire imbriqué des données d'écureuils.
Cet exercice fait partie du cours
Types de données en Python
Instructions
Affichez les clés du dictionnaire
squirrels_by_park
. REMARQUE : Il s'agit depark_names
.Affichez les clés du dictionnaire
squirrels_by_park
pour le parc au nom (park_name) deUnion Square Park
.Passez en boucle sur le dictionnaire
squirrels_by_park
.- A l'intérieur de la boucle, affichez en toute sécurité le nom de parc
park_name
et la couleurhighlights_in_fur_color
. Affichez'N/A'
si le paramètre highlightsinfur_color est introuvable ou est égal à None.
- A l'intérieur de la boucle, affichez en toute sécurité le nom de parc
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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[____].____('____', '____'))