0Pricing
Python Academy · Lección

Comprensiones de diccionarios

Cree diccionarios de forma concisa mediante la sintaxis de comprensión.

Comprensiones de diccionarios es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

Introducción

Las comprensiones de diccionarios ofrecen una forma concisa de crear diccionarios a partir de cualquier iterable.

Comprensión básica de diccionarios

{k: v for k, v in items} es la forma básica. Ejemplo: {x: x**2 for x in range(5)} asocia cada número con su cuadrado.
squares = {x: x**2 for x in range(5)}
print(squares)

Con una condición

Añada if al final para filtrar: {x: x**2 for x in range(10) if x % 2 == 0} conserva únicamente los números pares.
evens = {x: x**2 for x in range(10) if x % 2 == 0}
print(evens)

Invertir un diccionario

{v: k for k, v in d.items()} intercambia las claves y los valores. Solo funciona si todos los valores son únicos y hashable.
d = {'a': 1, 'b': 2, 'c': 3}
inverted = {v: k for k, v in d.items()}
print(inverted)

A partir de dos listas

{k: v for k, v in zip(keys, values)} es la forma más clara de crear un diccionario a partir de listas paralelas.
keys = ['name', 'age']
vals = ['Alice', 30]
d = {k: v for k, v in zip(keys, vals)}
print(d)

Transformar valores

Aplique una función a todos los valores: {k: v.upper() for k, v in d.items()} convierte en mayúsculas todos los valores de tipo cadena.
d = {'a': 'hello', 'b': 'world'}
result = {k: v.upper() for k, v in d.items()}
print(result)

Comprensión de diccionarios anidada

{outer_k: {inner_k: inner_v} ...} anida comprensiones. Tenga en cuenta la legibilidad: si resulta complejo, use un bucle normal.
nested = {i: {j: i*j for j in range(3)} for i in range(3)}
print(nested)

Agrupar con una comprensión

Agrupe los elementos según una propiedad: {k: [v for v in values if condition(v, k)] for k in keys}
words = ['apple', 'art', 'banana', 'blueberry']
grouped = {ch: [w for w in words if w.startswith(ch)] for ch in 'ab'}
print(grouped)

Combinar y sobrescribir

{**d1, **d2} combina dos diccionarios de una forma similar a una comprensión. Los valores de d2 prevalecen cuando hay claves duplicadas.
d1 = {'a': 1, 'b': 2}
d2 = {'b': 99, 'c': 3}
merged = {**d1, **d2}
print(merged)

Dict frente a defaultdict

Las comprensiones crean diccionarios normales. Use defaultdict cuando necesite inicialización automática para las claves inexistentes.
from collections import defaultdict
d = defaultdict(list)
for w in ['apple', 'art', 'banana']:
    d[w[0]].append(w)
print(dict(d))

Rendimiento

Por lo general, las comprensiones de diccionarios son más rápidas que las construcciones equivalentes con bucles for, porque el intérprete las optimiza internamente.
# Comprehension
squares = {x: x**2 for x in range(1000)}
print(len(squares))

Comprobación rápida

¿Qué hace {v: k for k, v in d.items()}?

Resumen

Comprensiones de diccionarios: {k: v for ... if ...}. Úselas para invertir diccionarios, transformar valores, agrupar y filtrar. Combínelas con zip() para trabajar con listas paralelas.

Continúe

¡Excelente trabajo! Pase a la siguiente lección para seguir desarrollando sus habilidades.

Preguntas frecuentes

¿La lección «Comprensiones de diccionarios» es gratis?

Sí — el texto completo de «Comprensiones de diccionarios» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Comprensiones de diccionarios»?

Cree diccionarios de forma concisa mediante la sintaxis de comprensión. Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Comprensiones de diccionarios»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Conceptos básicos de diccionarios
  2. Métodos de diccionarios
  3. Conjuntos y operaciones con conjuntos
  4. Comprensiones de diccionarios
← Volver a Python Academy