List Comprehension es una forma práctica y más rápida de crear listas en Python en una sola línea de código. Nos ayuda a escribir bucles for fáciles de leer en una sola línea.
En Python, el diccionario es una estructura de datos para almacenar datos de forma que cada elemento de los datos almacenados está asociado a una clave. La estructura de datos del diccionario le permite consultar los datos utilizando la clave de manera muy eficiente.
La idea de la comprensión no es exclusiva de las listas en Python. Los diccionarios, una de las estructuras de datos más utilizadas en la ciencia de datos, también pueden hacer comprensión. Con la comprensión de dict o diccionario, uno puede crear fácilmente diccionarios.
Recuerda que, en python una lista se define con corchetes y un diccionario se define con llaves {}. La idea utilizada en la comprensión de la lista se lleva a cabo en la definición de la comprensión de dict. La comprensión de dict se define con una sintaxis similar, pero con un par clave:valor en la expresión.
- {clave:valor para i en la lista}
Veamos 5 ejemplos sencillos de uso de la comprensión de dict para crear nuevos diccionarios fácilmente.
Se añade un sexto ejemplo de comprensión de dict para borrar claves en un diccionario.
Ejemplo de comprensión de dictado 1
Veamos un ejemplo rápido de creación de una comprensión de dictado a partir de una lista de números.
Aquí vamos a utilizar una lista de números y crear un diccionario con el valor de la cadena del número como clave y el número como valores.
# dict comprehension to create dict with numbers as values>{str(i):i for i in }{'1': 1, '3': 3, '2': 2, '5': 5, '4': 4}
Ejemplo de comprensión dict 2
Digamos, que tenemos una lista de frutas y podemos utilizar la comprensión dict para crear un diccionario con las frutas, los elementos de la lista como las claves y la longitud de cada cadena como los valores.
# create list of fruits>fruits = # dict comprehension to create dict with fruit name as keys>{f:len(f) for f in fruits}{'cherry': 6, 'mango': 5, 'apple': 5, 'banana': 6}
Ejemplo de comprensión del diccionario 3
Creemos un diccionario con la comprensión del dict de forma que los elementos de la lista sean las claves y los elementos con la primera letra en mayúscula los valores.
>{f:f.capitalize() for f in fruits}{'cherry': 'Cherry', 'mango': 'Mango', 'apple': 'Apple', 'banana': 'Banana'}
Ejemplo de comprensión del diccionario 4
Usemos la función enumerar en la comprensión del diccionario. Si no has usado enumerar: enumerar puede tomar cualquier cosa iterable como entrada y devuelve el elemento y su índice.
Aquí usamos la función enumerar en la lista para crear índice y tuplas de elementos de la lista y los usamos para crear un diccionario con comprensión de dict. Creamos un diccionario con los elementos de la lista como claves y el índice de los elementos como valores. Tales diccionarios con índice de elementos son a menudo útiles en una variedad de escenarios.
# dict comprehension example using enumerate function>{f:i for i,f in enumerate(fruits)}{'cherry': 3, 'mango': 1, 'apple': 0, 'banana': 2}
Ejemplo 5 de comprensión de dict
Otro uso de la comprensión de dict es invertir clave:valor en un diccionario existente. A veces puede querer crear un nuevo diccionario a partir de un directorio existente, de tal manera que el papel del par clave:valor en el primer diccionario se invierte en el nuevo diccionario. Podemos utilizar Dict Comprehension y dar la vuelta al diccionario de elemento a índice para indexar al diccionario de elemento.
# dict comprehension example to reverse key:value pair in a dictionary>f_dict = {f:i for i,f in enumerate(fruits)}>f_dict{'apple': 0, 'banana': 2, 'cherry': 3, 'mango': 1}# dict comprehension to reverse key:value pair in a dictionary>{v:k for k,v in f_dict.items()}{0: 'apple', 1: 'mango', 2: 'banana', 3: 'cherry'}
Hemos utilizado la función items de dictionaries para obtener los pares clave:valor en un diccionario existente y hemos creado un nuevo diccionario donde las claves en el diccionario original son valores en el nuevo diccionario y viceversa.
Ejemplo 6 de Dict Comprehension: ¿Cómo eliminar las claves seleccionadas del diccionario utilizando Dict Comprehension?
Digamos que tienes un diccionario y quieres crear un nuevo diccionario eliminando cierto par clave-valor. Podemos utilizar Dict Comprehension para eliminar los pares clave-valor seleccionados de un diccionario y crear un nuevo diccionario.
Utilicemos el diccionario «fruta» que creamos anteriormente.
fruits = f_d1 ={f:f.capitalize() for f in fruits}f_d1
Utilicemos diction comprehension para eliminar dos claves, manzana y plátano, y sus valores del diccionario fruta.
# keys to be removed>remove_this = {'apple','cherry'}# dict comprehension example to delete key:value pairs in a dictionary>{key:f_d1 for key in f_d1.keys() - remove_this}{'banana': 'Banana', 'mango': 'Mango'}
Hemos eliminado las claves, manzana y cereza, simplemente utilizando el objeto diction keys con operaciones de set y ahora el nuevo diccionario sólo contiene plátano y mango.
iv