Saltar al contenido

Expresiones generadoras

Python · Unidad 15: Comprensiones y generadores

Cambia los corchetes de una comprensión por paréntesis y tienes una expresión generadora: los valores salen uno por uno, sin armar la lista.

Dentro de una llamada como sum() ni siquiera hacen falta los paréntesis de más.

nums = [1, 2, 3, 4]
print(sum(n * n for n in nums))

Imprime

30

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    Estos son los precios de tres cosas. ¿Qué imprime?

  2. 2. Completa el código

    Completa para saber si alguien del grupo ya es mayor de edad.

  3. 3. Predice la salida

    ¿Qué imprime este código?

  4. 4. Opción múltiple

    Tienes g = (n * 2 for n in nums). ¿Qué ves si haces print(g)?

  5. 5. Encuentra el bug

    Debería imprimir el total de los precios al doble y el más caro de ellos. ¿Qué línea tiene el error?

  6. 6. Opción múltiple

    Tienes un millón de precios en pre y solo quieres el total con impuesto. ¿Cuál conviene?

  7. 7. Escribe el código

    Escribe mayores_a(ns, t), que regrese cuántos números de ns son mayores que t. Usa sum con una expresión generadora.

  8. 8. Predice la salida

    Este diccionario tiene el precio de cada producto. ¿Qué imprime?

  9. 9. Ordena las líneas

    Ordena para imprimir cuántas notas pasan de 7 y cuántas notas hay en total.

  10. 10. Predice la salida

    ¿Cuántas vocales tiene la frase?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →