Comprensión de diccionario anidado en Python

Zeeshan Afridi 21 junio 2023
  1. Comprensión del diccionario de Python
  2. Comprensión de diccionario anidado de Python
Comprensión de diccionario anidado en Python

Comprensión del diccionario de Python es una herramienta poderosa que le permite crear nuevos diccionarios a partir de los existentes. Es similar a la comprensión de una lista, pero en lugar de crear una lista, crea un diccionario.

La comprensión del diccionario es una forma muy concisa de crear un diccionario y es útil cuando desea crear un diccionario a partir de un par de tuplas, donde una tupla contiene la clave y el valor.

En este tutorial, exploraremos la comprensión del diccionario anidado de Python, su uso y las ventajas de usarlo en Python.

Comprensión del diccionario de Python

La comprensión de diccionarios es una poderosa herramienta que podemos usar para realizar varias operaciones en los diccionarios, como filtrar, transformar o crear nuevos diccionarios.

Las comprensiones de diccionario le permiten crear diccionarios a partir de otros diccionarios u otros tipos de datos iterables. También le permiten especificar pares clave-valor en lugar de solo valores.

Las comprensiones de diccionario se usan más comúnmente para crear nuevos diccionarios a partir de los existentes. Por ejemplo, podría crear un nuevo diccionario que contenga solo las claves de un diccionario existente o los valores.

También puede crear un nuevo diccionario que contenga las claves y los valores de dos diccionarios existentes. También podemos usar comprensiones de diccionarios para manipular diccionarios existentes.

Por ejemplo, puede agregar o eliminar elementos de un diccionario o cambiar los valores de los elementos existentes.

Ejemplo de código:

square_dict = dict()

for num in range(1, 4):
    square_dict[num] = num * num

print(square_dict)

# dictionarycomprehension example
square_dict = {num: num * num for num in range(1, 4)}

print(square_dict)

Producción :

{1: 1, 2: 4, 3: 9}
{1: 1, 2: 4, 3: 9}

Sintaxis de la comprensión del diccionario

La comprensión de diccionarios es una herramienta útil para crear diccionarios a partir de otras estructuras de datos en Python. La sintaxis es sencilla de leer {clave: valor para (clave, valor) en iterable}.

Ejemplo de código:

# The price of the item in dollars
old_price = {"price of milk": 2, "price of coffee": 4, "price of bread": 3.5}

dollar_to_pound = 0.76
new_price = {item: value * dollar_to_pound for (item, value) in old_price.items()}
print(new_price)

Producción :

{'price of milk': 1.52, 'price of coffee': 3.04, 'price of bread': 2.66}

Comprensión de diccionario anidado de Python

La comprensión del diccionario anidado funciona al iterar sobre una secuencia de pares clave-valor y luego construir un nuevo diccionario a partir de esos pares. El nuevo diccionario se puede construir utilizando cualquier función de mapeo, como dict.update o dict.fromkeys.

Por ejemplo, considere la siguiente estructura de datos:

data = {"a": 1, "b": 2, "c": 3, "d": 4}

Para sintetizar un nuevo diccionario que mantenga solo las claves de esta estructura de datos, podría usar la siguiente comprensión de diccionario anidado:

new_dict = {k: data[k] for k in data}
print(new_dict)

Produciría un nuevo diccionario que se ve así:

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

Podría usar la siguiente comprensión de diccionario anidado para sintetizar un nuevo diccionario que mantenga solo los valores de esta estructura de datos.

new_dict = {k: v for k, v in data.items()}

Produciría un nuevo diccionario que se ve así:

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

Como puede ver, la comprensión de diccionario anidado es una herramienta poderosa que puede procesar y manipular estructuras de datos complejas de manera rápida y eficiente. También es una manera fácil de crear estructuras de datos ad-hoc.

Sintaxis de la comprensión del diccionario anidado en Python

Para crear una comprensión de diccionario anidada, coloque otra comprensión de diccionario entre corchetes de la primera comprensión de diccionario.

El siguiente ejemplo crea un diccionario de diccionarios, con cada diccionario interno que contiene información sobre una fruta diferente:

{key:value for key, value in outer_dict.items() if key =='fruit'}
{key:{'name':fruit['name'], 'colour':fruit['colour']} for key,fruit in outer_dict.items() if key == 'fruit'}

La primera comprensión del diccionario anterior crea un diccionario con claves que son los nombres de las frutas y valores que son los colores de esas frutas.

La segunda comprensión de diccionario anterior hace lo mismo pero agrega un nivel adicional de anidamiento, creando un diccionario de diccionarios.

Ejemplo de código:

dictionary = {k1: {k2: k1 * k2 for k2 in range(1, 3)} for k1 in range(2, 5)}
print(dictionary)

Producción :

{2: {1: 2, 2: 4}, 3: {1: 3, 2: 6}, 4: {1: 4, 2: 8}}

Ventajas de la comprensión del diccionario anidado

Hay algunas ventajas en el uso de comprensiones de diccionarios anidados en Python.

  1. Podemos usarlos para crear diccionarios anidados complejos fácilmente.
  2. Podemos usarlos para procesar grandes cantidades de datos de manera eficiente.
  3. Finalmente, podemos usarlos para crear rápidamente nuevos diccionarios basados en los existentes.

Entonces, al comprender cómo funciona la comprensión del diccionario anidado, puede trabajar de manera rápida y eficiente con datos complejos en Python.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Artículo relacionado - Python Dictionary