Al igual que la comprensión de listas , Python permite la comprensión de diccionarios. Podemos crear diccionarios usando expresiones simples.
La comprensión de un diccionario toma la forma {clave: valor para (clave, valor) en iterable}
Veamos un ejemplo, supongamos que ahora tenemos dos listas llamadas claves y valor,
# Python code to demonstrate dictionary # comprehension # Lists to represent keys and values keys = ['a','b','c','d','e'] values = [1,2,3,4,5] # but this line shows dict comprehension here myDict = { k:v for (k,v) in zip(keys, values)} # We can use below too # myDict = dict(zip(keys, values)) print (myDict)
Producción :
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
También podemos hacer un diccionario a partir de una lista usando comprensión.
# Python code to demonstrate dictionary # creation using list comprehension myDict = {x: x**2 for x in [1,2,3,4,5]} print (myDict)
Producción :
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
y, como,
sDict = {x.upper(): x*3 for x in 'coding '} print (sDict)
Producción :
{'O': 'ooo', 'N': 'nnn', 'I': 'iii', 'C': 'ccc', 'D': 'ddd', 'G': 'ggg'}
Podemos usar las comprensiones de diccionario con declaraciones if y else y también con otras expresiones. Este ejemplo a continuación asigna los números a sus cubos que no son divisibles por 4:
# Python code to demonstrate dictionary # comprehension using if. newdict = {x: x**3 for x in range(10) if x**3 % 4 == 0} print(newdict)
Producción :
{0: 0, 8: 512, 2: 8, 4: 64, 6: 216}
Este artículo es una contribución de Shantanu Sharma. . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA