Diccionario anidado en Python

Un diccionario anidado en Python es un diccionario dentro de otro diccionario, donde los valores del diccionario exterior también son diccionarios. El siguiente código muestra un ejemplo elemental.
d1 = {
0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1)
Producción :
{0: {'Dept': 'Mathematics', 'Prof': 'Dr Jack'}, 1: {'Dept': 'Physics', 'Prof': 'Dr Mark'}}
Podemos acceder fácilmente a los elementos del diccionario utilizando la clave del diccionario anidado, como se demuestra en el siguiente ejemplo.
d1 = {
0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1[0]["Dept"])
Producción :
Mathematics
Aquí, 0
es la clave del diccionario externo, y 'Dept'
es la clave del diccionario interno.
También podemos añadir elementos como lo hacemos en un diccionario normal de Python. Además, también podemos añadir un diccionario entero como elemento. Por ejemplo:
d1 = {
0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
d1[2] = {"Dept": "CS", "Prof": "Dr Jay"}
print(d1[2])
Producción :
{'Dept': 'CS', 'Prof': 'Dr Jay'}
Python tiene un constructor defaultdict()
en el módulo collections
para crear diccionarios y devolver un valor por defecto cuando se accede a una clave no disponible.
El tipo de datos defaultdict()
es muy útil cuando quieres devolver valores por defecto o inicializar el diccionario según tus necesidades. El siguiente código muestra cómo crear un diccionario simple con 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))
Producción :
{'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.
LinkedInArtículo relacionado - Python Dictionary
- Cómo comprobar si existe una clave en un diccionario en Python
- Convertir un diccionario en una lista en Python
- Cómo obtener todos los archivos de un directorio
- Cómo encontrar el valor máximo en el Diccionario Python
- Cómo ordenar un diccionario Python por valor
- Cómo fusionar dos diccionarios en Python 2 y 3