- 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
Función map para calcular tiempo de lectura en Python
Clase 24 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
Potencia tu flujo en Python con transformaciones claras y eficientes. Aquí verás cómo usar map para reemplazar un for tradicional, y cómo integrarlo en una app de noticias para calcular el tiempo de lectura por artículo sin esfuerzo, con código limpio, declarativo y fácil de probar.
¿Cómo convertir un for en map en Python?
Usar map te permite aplicar una función a cada elemento de una list sin recorrerla manualmente. Primero, se parte de un enfoque clásico con for para obtener los cuadrados y luego se reemplaza por map, que es más expresivo y perezoso en su evaluación: solo calcula cuando accedes a los elementos.
Código con for:
numbers = [1, 2, 3, 4, 5]
cuadrados = []
for num in numbers:
cuadrados.append(num ** 2)
print(numbers, cuadrados)
Código con map y función nombrada:
def cuadrado(num):
return num ** 2
numbers = [1, 2, 3, 4, 5]
cuadrados_map = list(map(cuadrado, numbers)) # map es perezoso, por eso list(...)
print(cuadrados_map)
Claves prácticas: - map recibe primero una función y luego un iterable. - map, como filter, no materializa resultados hasta que los consumes. - Convertir a list fuerza el cálculo inmediato para imprimir o depurar.
¿Cómo calcular el tiempo de lectura con map en una app de noticias?
El objetivo es agregar a cada artículo un campo reading_time. Para ello, se crea una función utilitaria en utils que recibe un diccionario de artículo, calcula minutos con base en su content y devuelve el mismo diccionario modificado. Se corrigió el tipo de retorno de stream a dict para alinear con lo que realmente se retorna.
Función en utils:
# utils.py
def get_reading_time(article: dict) -> dict:
"""
Calcula el tiempo de lectura.
"""
minutos = len(article["content"]) // 200 + 1 # ~200 caracteres por minuto
article["reading_time"] = minutos
return article
Integración en main con map y conversión a list para ver resultados de inmediato:
# main.py
from utils import get_reading_time
# articles: lista de diccionarios con al menos "title" y "content"
articulos_con_tiempo = list(map(get_reading_time, articles))
# Imprimir título y tiempo de lectura
for art in articulos_con_tiempo:
print(art["title"], "-", art["reading_time"], "min")
Qué observar en la salida: - Verás los campos originales como source y description, y el nuevo reading_time en minutos. - Puedes imprimir un solo elemento o iterar para mostrar título y tiempo de lectura.
¿Por qué map mejora el rendimiento y la mantenibilidad?
map aporta rendimiento porque es perezoso: no procesa toda la lista de una vez, solo cuando accedes a cada elemento. Además, usar una función nombrada en lugar de una lambda facilita entender la transformación, hacer pruebas unitarias y mantener un código más declarativo.
Buenas prácticas y palabras clave que aplican: - map y su parentesco con filter para transformar y filtrar colecciones. - Uso de una función con nombre para transformaciones complejas: más legible y testeable. - Evaluación perezosa: eficiencia al trabajar con listas grandes. - Tipos y contratos claros: retorno como dict cuando modificas un diccionario. - Utilidades modulares: separar lógica en utils y orquestación en main. - Métrica definida: aproximadamente 200 caracteres por minuto para reading_time y sumar uno para asegurar un mínimo. - Conceptos de iteradores: base de herramientas rápidas en Python, como las de la documentación de itertools.
¿Te gustaría ver variantes con comprensión de listas, o comparar lambda frente a funciones nombradas en tu caso de uso? Comparte tus dudas y ejemplos en los comentarios.