Dicionário aninhado em Python
Um dicionário Python aninhado é um dicionário dentro de um dicionário, onde os valores do dicionário externo também são dicionários. O código a seguir mostra um exemplo elementar.
d1 = {
0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1)
Resultado:
{0: {'Dept': 'Mathematics', 'Prof': 'Dr Jack'}, 1: {'Dept': 'Physics', 'Prof': 'Dr Mark'}}
Podemos acessar facilmente os elementos do dicionário usando a chave do dicionário aninhado, conforme demonstrado no exemplo abaixo.
d1 = {
0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1[0]["Dept"])
Resultado:
Mathematics
Aqui, 0
é a chave do dicionário externo e 'Dept'
é a chave do dicionário interno.
Também podemos adicionar elementos como fazemos em um dicionário Python normal. Além disso, também podemos adicionar um dicionário inteiro como um elemento. Por exemplo:
d1 = {
0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
d1[2] = {"Dept": "CS", "Prof": "Dr Jay"}
print(d1[2])
Resultado:
{'Dept': 'CS', 'Prof': 'Dr Jay'}
Python tem um construtor defaultdict()
no módulo collections
para criar dicionários e retornar um valor padrão quando uma chave indisponível é acessada.
O tipo de dados defaultdict()
é muito útil quando você deseja retornar valores padrão ou inicializar o dicionário de acordo com sua necessidade. O código a seguir mostra como criar um dicionário simples com este método:
from collections import defaultdict
d1 = defaultdict(lambda: defaultdict(dict))
d1["key_outer_1"] = {"key_inner_1": "val1"}
d1["key_outer_2"] = {"key_inner_2": "val2"}
print(dict(d1))
Resultado:
{'key_outer_1': {'key_inner_1': 'val1'}, 'key_outer_2': {'key_inner_2': 'val2'}}
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn