Python diccionario anidado

Funciones y métodos de Python

Un diccionario anidado de Python es un diccionario dentro de otro diccionario. Esto le permite almacenar datos utilizando la estructura de mapeo clave-valor dentro de un diccionario existente. 

Cuando trabaje con diccionarios en Python, puede encontrar una situación en la que un diccionario contenga otro diccionario. 

Esta estructura de datos a menudo se denomina diccionario anidado y tiene una amplia gama de casos de uso potenciales en el código Python. 

Este tutorial discutirá los conceptos básicos de los diccionarios anidados de Python. Veremos algunos ejemplos para que pueda aprender a crear y modificar un diccionario anidado. 




Actualización del diccionario de Python

El diccionario es el tipo de datos de mapeo de Python. Un diccionario Python vincula & mdash; o mapear & mdash; claves a valores y proporciona una forma eficaz de almacenar datos. 

Cuando una clave se asigna a un valor, puede recuperar los datos almacenados en ese valor haciendo referencia a la clave. Entonces, en cierto sentido, la clave actúa como una etiqueta. Aquí hay un ejemplo de un diccionario que almacena los precios de los sabores de helado que se venden en una heladería local, The Frozen Spoon:

 ice_cream_flavors = {" Vainilla ": 0.50," Chocolate ": 0.50," Galletas y crema ": 0.75," Fresa ": 0.65," Pecan con mantequilla ": 0.90} 

Las claves de este diccionario son los nombres de nuestros helados (es decir, & ldquo; Vainilla & rdquo;), y los valores son los precios por cucharada de cada helado.




Diccionario anidado de Python < / h2>

Los diccionarios anidados de Python son diccionarios dentro de un diccionario. Se utilizan para representar datos de diccionario dentro de otro diccionario. Puede anidar tantos diccionarios en un diccionario como desee.

El 81% de los participantes afirmaron que se sentían más seguros sobre sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asóciese a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Los diccionarios anidados son útiles si usted desea almacenar una variedad de diccionarios de componentes en un diccionario grande. 

Veamos un ejemplo para ilustrar cómo funcionan los diccionarios anidados. Supongamos que queremos crear un diccionario que almacene diccionarios sobre cada sabor de helado que se vende en The Frozen Spoon. Cada diccionario de nuestro diccionario grande debe incluir:

  • El nombre del helado
  • Su precio
  • Cuántas pintas hay en existencia

Así es como se vería un diccionario anidado que almacena estos datos:

 ice_cream_flavors = {0: {"aroma": "Vainilla", "precio": 0.50, "pintas": 20}, 1: {"sabor": "Chocolate", "precio": 0.50, "pintas": 31} , 2: {"taste": "Cookies and Cream", "price": 0.75, "pints": 14}} 

En nuestro código, hemos declarado un gran diccionario llamado < em> sabores_crema_helado . Este diccionario contiene tres diccionarios, cada uno de los cuales almacena información sobre un sabor particular de helado. 

Si no hubiéramos usado un diccionario anidado, habríamos tenido que almacenar cada uno de estos diccionarios en variables separadas. Esto es contrario a la intuición porque cada diccionario almacena información sobre sabores de helado.




Acceder a elementos en un diccionario anidado

Para acceder a un elemento en un diccionario anidado, podemos usar la sintaxis de indexación.

Supongamos que queremos para recuperar el precio del helado con el valor de índice 0 en nuestro diccionario. Podríamos hacerlo usando este código:

Nuestro código devuelve:

 0.50 Vanilla 

En este código, primero especificamos la clave del elemento cuyo valor está en nuestro diccionario grande que queremos recuperar. En este caso, queríamos acceder al registro con el valor de índice 0.

Luego, especificamos el nombre del elemento de nuestro diccionario interno que queremos recuperar. En este caso, queríamos recuperar el precio de nuestro helado y el sabor. Por lo tanto, especificamos precio y sabor en nuestras dos declaraciones print ()




Diccionario anidado Python: Agregar elemento

Para agregar un elemento a un diccionario anidado, podemos usar la misma sintaxis que usamos para modificar un elemento. No hay ningún método que deba utilizar para agregar un elemento a un diccionario anidado. Necesita usar el operador de asignación.

La sintaxis para agregar un elemento es la siguiente:

 dictionary_name [new_key_name] = new_value 

Supongamos que tenemos un diccionario que almacena información sobre un helado de vainilla a la venta. Queremos rastrear si hay un descuento en el helado. Podríamos hacer esto usando el siguiente código:

 ice_cream_flavors = {0: {"taste": "Vanilla" , "precio": 0.50, "pintas": 20}, 1: {"sabor": "Chocolate", "precio": 0.50, "pintas": 31}, 2: {"sabor": "Galletas y crema" , "price": 0.75, "pints": 14}} ice_cream_flavors [0] ["discount"] = True print (ice_cream_flavors [0]) 

Ejecutemos nuestro código y mira lo que sucede:

 {'aroma':' vainilla', 'precio': 0.5,' pintas' : 20, 'discount': True} 

Nuestro diccionario se almacena en la variable de Python & ldquo; ice_cream_flavors & rdquo;.


Agregamos una clave llamada descuento al diccionario. La posición de índice de esta clave es 0. Establecemos el valor de esta clave en Verdadero. Luego, imprimimos el diccionario con el valor de índice 0 en nuestro diccionario anidado ice_cream_flavors . Esto muestra que nuestra clave descuento ha sido agregada.

Podemos usar esta sintaxis para actualizar un en un diccionario existente. Supongamos que queremos cambiar el precio de nuestro helado de chocolate a $ 0.45 por cucharada. Podríamos hacerlo usando este código:

 ice_cream_flavors = {0: {" aroma ":" Vainilla "," precio ": 0.50," pintas ": 20}, 1: {" sabor ":" Chocolate "," precio ": 0.50," pintas ": 31}, 2: {" sabor ":" Galletas y crema "," precio ": 0.75," pintas ": 14}} helado_sabores_crema [1] [" precio "] = 0.45 impresión ( ice_cream_flavors [1]) 

Nuestro c La oda regresa:

"Career Karma entró en mi vida cuando más lo necesitaba y rápidamente me ayudó a combinar con un bootcamp. ¡Dos meses después de graduarme, encontré el trabajo de mis sueños que se alineaba con mis valores y metas en la vida! "

Venus, ingeniero de software en Rockbot

Cambiamos el valor de la tecla precio para nuestro helado de chocolate a $ 0.45.

Para hacerlo, especificamos el valor de índice del diccionario cuyo precio valor que queríamos cambiar a 1. Este valor contiene la información sobre helados de chocolate en nuestro diccionario. Luego, asignamos un nuevo valor a la tecla precio .




Diccionario anidado Python: Eliminar elemento

Para eliminar un elemento almacenado en un diccionario anidado, podemos usar la instrucción del . La instrucción del le permite eliminar un objeto. Del está escrito como una declaración de interrupción de Python , en su propia línea, seguida del elemento del diccionario que desea eliminar.

Supongamos que ya no ofrecemos galletas y helado en nuestra tienda temporalmente. Nuestro congelador que almacenó las galletas y el helado de crema dejó de funcionar y la mercancía se derritió. 

Podríamos eliminar este helado de nuestro diccionario anidado usando el siguiente código:

 ice_cream_flavors = {0: {"aroma": "Vainilla", "precio": 0.50, "pintas": 20}, 1: {"sabor": "Chocolate", "precio": 0.50, "pintas": 31} , 2: {"flavour": "Cookies and Cream", "price": 0.75, "pints": 14}} del ice_cream_flavors [2] print (ice_cream_flavors) 

Nuestro código regresa :

 {0: {'taste':' Vanilla', 'price': 0.5,' pintas' : 20}, 1: {'taste':' Chocolate', 'price': 0.5,' pints': 31}} 

En nuestro código, usamos un del declaración para eliminar el valor en nuestro diccionario anidado cuya clave era igual a 2. Como puede ver, esto eliminó la entrada para Cookies and Cream de nuestro diccionario anidado. 




Iterar a través de un diccionario anidado de Python

Ahora, supongamos que queremos imprimir el contenido de cada diccionario en nuestro diccionario anidado en el consola. ¿Cómo podemos realizar esta tarea?

Esa es una gran pregunta. Para imprimir el contenido de nuestro diccionario anidado, podemos iterar a través de él usando un Python for loop . También usaremos el método de elementos () del diccionario de Python para recuperar una lista de claves y valores en nuestro diccionario:

 ice_cream_flavors = {0: {"taste": "Vanilla", " precio ": 0.50," pintas ": 20}, 1: {" sabor ":" Chocolate "," precio ": 0.50," pintas ": 31}, 2: {" sabor ":" Galletas y crema "," precio ": 0,75," pintas ": 14}} fo r clave, valor en ice_cream_flavors.items (): print ("Ice Cream:", clave) para k, v en value.items (): print (k + ":", valor [k]) 

Nuestro código devuelve:

 Helado: 0 sabor: Precio de vainilla: 0.5 pintas: 20 Helados: 1 sabor: Chocolate Precio: 0.5 pintas: 31 Helados: 2 sabores: Galletas y crema Precio: 0.75 pintas: 14 

Vamos a desglosar nuestro código. Primero, hemos definido nuestro diccionario anidado de sabores de helado. 

Luego, hemos definido un ciclo for que pasa por cada clave y valor en el diccionario ice_cream_flavors . Este ciclo usa .items () para generar una lista de todas las claves y valores en nuestro diccionario ice_cream_flavors , sobre el cual el ciclo puede iterar. 

Luego, imprimimos Helado: seguido de la tecla asociada con un helado en particular. 

A continuación, usamos otro bucle for para recorrer cada elemento en cada valor en nuestro diccionario anidado. Esto se refiere a cada entrada interna en nuestro diccionario anidado (como las de vainilla y chocolate). Este ciclo imprime el nombre de cada clave en nuestros diccionarios internos, seguido de dos puntos, luego el valor asociado con esa clave. 




Conclusión

Los diccionarios anidados le permiten almacenar diccionarios dentro de un diccionario en Python. 

Este tutorial analiza, con referencia a ejemplos, cómo:

  • Crear un diccionario anidado
  • Agregar elementos y actualizar elementos en un diccionario anidado.
  • Eliminar elementos de un diccionario anidado
  • Iterar a través de un diccionario anidado

Para obtener más información sobre la codificación en Python, lea nuestro Guía de cómo codificar en Python .





Python diccionario anidado: StackOverflow Questions

Tutorials