- 1

Python intermedio: prácticas profesionales con app de noticias e IA
01:17 - 2

Configuración de PEP 8 y formateo automático con Ruff en Python
08:06 - 3

Sintaxis de list, dict y set comprehensions en Python
10:38 - 4

Comprensiones anidadas para agrupar y filtrar datos en Python
11:48 - 5

Formateo de strings con f-strings en Python
08:13 - 6

Modificadores de formato avanzados en FStrings para números y fechas
09:48 quiz de Código Pythónico y Funcional
Sintaxis de list, dict y set comprehensions en Python
Clase 3 de 25 • Curso de Python: Entornos virtuales, PEP8 y Manejo de Errores
Contenido del curso
- 11

Uso del bloque finally para liberar recursos en Python
06:00 - 12

Creación de excepciones personalizadas en Python
07:39 - 13

Anotaciones de tipo con type hints en Python
07:01 - 14

Tipado de funciones y estructuras de datos en Python
06:32 - 15

Documentación en Python con docstrings y PEP 257
10:14 quiz de Manejo de Datos y Recursos
- 19

Gestión moderna de dependencias Python con UV y pyproject
07:17 - 20

Modularización de código Python con responsabilidad única
07:14 - 21

Paquetes Python: de estructura plana a código modular
09:06 - 22

Función enumerate en Python para indexar listas automáticamente
09:31 - 23

Filtrado de listas con filter en Python
11:44 - 24

Función map para calcular tiempo de lectura en Python
08:59 - 25

Conexión de OpenAI API con variables de entorno en Python
11:17
Domina cómo escribir código más pythónico transformando bucles anidados en una sola línea con list comprehension, dict comprehension y set comprehension. Verás cómo refactorizar desde un for tradicional, aplicar filtros con if, usar len para validaciones y construir objetos más claros y legibles.
¿Qué son las comprehensions en Python y para qué sirven?
Las comprehensions permiten crear listas, diccionarios y conjuntos de forma compacta y legible. En lugar de acumular valores con variables temporales y múltiples líneas, condensas la iteración, el mapeo y el filtro en una expresión clara.
- Generan el mismo resultado que un for tradicional, con menos código.
- Mejoran la lectura: menos ruido y menos variables temporales.
- Soportan condiciones directamente en la expresión.
¿Qué piezas componen la sintaxis de una list comprehension?
- Expresión de salida: qué valor quieres en la lista.
- Iteración: el for que recorre los elementos.
- Filtro opcional: un if para incluir o excluir.
¿Cómo refactorizar un for tradicional a una list comprehension?
Primero, extraer títulos con un for acumulando en una lista.
def extract_titles_traditional(articles):
"""Extrae solo los títulos usando un for."""
titles = []
for article in articles:
titles.append(article["title"]) # iteración + acumulación
return titles
Ahora, la misma lógica con list comprehension y retorno en una línea.
def extract_titles(articles):
"""Extrae solo los títulos usando un comprehension."""
return [article["title"] for article in articles]
- Resultado idéntico en consola al imprimir ambos llamados.
- Más limpio y directo: la firma de la función no cambia, solo la implementación.
¿Qué ventajas aporta la sintaxis compacta y el retorno en una línea?
- Menos probabilidad de errores por variables intermedias.
- Intención clara: mapeo de artículos a títulos.
- Compatible con herramientas de formato automático, por ejemplo, Ruff ordena la expresión para mayor legibilidad.
¿Cómo aplicar filtros con if y construir objetos con dict comprehension?
Puedes incluir validaciones en la misma línea. Por ejemplo, extraer solo títulos con al menos 10 caracteres usando len y un if al final.
def extract_titles_long(articles):
return [a["title"] for a in articles if len(a["title"]) > 10]
Para crear un diccionario a partir de los artículos, usa dict comprehension: cada entrada tendrá llave y valor. Por ejemplo, título como llave y descripción como valor, filtrando por descripciones de longitud mínima.
# Filtra descripciones largas y construye un dict título -> descripción
long_desc_by_title = {
a["title"]: a["description"]
for a in articles
if len(a["description"]) > 20 # puede devolver vacío si ninguna cumple
}
# Ajusta el umbral si necesitas resultados visibles
by_title_min5 = {a["title"]: a["description"] for a in articles if len(a["description"]) > 5}
- El if en list y dict comprehensions va al final de la expresión.
- Si el filtro es muy estricto, el resultado puede ser vacío; reduce el umbral y vuelve a ejecutar.
¿Cómo crear un conjunto de fuentes únicas con set comprehension?
Reto propuesto: construir un conjunto de fuentes sin duplicados. Empieza con el enfoque tradicional y luego refactoriza.
# Forma tradicional
def unique_sources_traditional(articles):
sources = set()
for a in articles:
sources.add(a["source"]) # evita duplicados de manera natural
return sources
# Con set comprehension
def unique_sources(articles):
return {a["source"] for a in articles}
- Un set elimina duplicados automáticamente.
- La set comprehension condensa iteración y recolección en una sola línea.
¿Tienes tu solución al reto u otra variación con filtros en dict o list comprehensions? Compártela en los comentarios para impulsar la discusión y ayudar a otros estudiantes.