Como lidar com dicionários aninhados
Um dicionário pode conter outro dicionário como o valor de uma chave, e essa é uma maneira muito comum de lidar com estruturas de dados repetitivas, como dados anuais, mensais ou semanais. Todas as mesmas regras se aplicam ao criar ou acessar o dicionário.
Por exemplo, se você tivesse um dicionário com uma classificação do meu consumo de cookies por ano e tipo de cookie. Ela deve ficar assim cookies = {'2017': {'chocolate chip': 483, 'peanut butter': 115}, '2016': {'chocolate chip': 9513, 'peanut butter': 6792}}
. Eu poderia acessar quantos biscoitos de chocolate eu comi em 2016 usando cookies['2016']['chocolate chip']
.
Ao explorar um novo dicionário, pode ser útil usar o método .keys()
para ter uma ideia de quais dados podem estar disponíveis no dicionário. Você também pode iterar sobre um dicionário e ele retornará cada chave do dicionário para usar dentro do loop.
Carregamos um dicionário squirrels_by_park
com nomes de parques para as chaves e um dicionário aninhado de dados de esquilos.
Este exercício faz parte do curso
Tipos de dado em Python
Instruções de exercício
Imprima as chaves do dicionário
squirrels_by_park
, NOTE: Elas sãopark_names
.Imprima as chaves do dicionário
squirrels_by_park
para o park_nameUnion Square Park
.Faça um loop no dicionário
squirrels_by_park
.- Dentro do loop, imprima com segurança o
park_name
e ohighlights_in_fur_color
. Imprima'N/A'
se highlightsinfur_color não for encontrado ou None.
- Dentro do loop, imprima com segurança o
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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[____].____('____', '____'))