Cargando...

Armar una lista en una línea

Los números ya están escritos: 2, luego 5, luego 1. Una línea arma otra lista a partir de ellos. doubled = [n * 2 for n in prices] recorre cada número, lo dobla y guarda 4, luego 10, luego 2. prices no se vuelve a escribir. n es solo el nombre del número por el que va la línea: primero 2, luego 5, luego 1.

4, luego 10, y prices sigue con tres números

python
prices = [2, 5, 1]
doubled = [n * 2 for n in prices]

print(doubled[0])
print(doubled[1])
print(len(prices))

En pantalla aparece 4, luego 10, luego 3. 4 es el primer número nuevo, 2 doblado. 10 es el siguiente, 5 doblado. El 3 es cuántos números sigue teniendo prices. El último número nuevo es 2, de 1 doblado, y este programa no lo escribe.

prices[0] sigue siendo 2. Doblar escribió una lista nueva. No sustituyó la vieja. Cuando la línea termina, lees doubled. n solo servía mientras la línea recorría los números.

Una prueba puede dejar un número fuera. Este programa empieza de nuevo, así que doubled no está aquí. small = [n for n in prices if n < 5] guarda un número solo cuando es menor que 5. 2 entra. 5 no. 1 entra. La lista nueva es 2, luego 1. prices sigue teniendo tres números.

el primer número que quedó, luego cuántos quedaron

python
prices = [2, 5, 1]
small = [n for n in prices if n < 5]

print(small[0])
print(len(small))

En pantalla aparece 2, luego 2. El primer 2 es small[0], el número 2 que quedó. El segundo 2 es cuántos números quedaron. 5 no está en small. small[1] sería 1, y este programa no lo escribe.

📊 Doblar, guardar o detenerse

Línea Qué obtienes
[n * 2 for n in prices] una lista nueva 4, 10, 2, y prices se queda
[n for n in prices if n < 5] una lista nueva 2, luego 1, y 5 se queda fuera
prices[0] sigue siendo 2
n * 2 for n in prices el programa se detiene, porque faltan los corchetes

Los corchetes forman parte de la línea. Sin ellos el programa se detiene. El nombre de delante y el nombre después de for tienen que ser el mismo. [n * 2 for price in prices] también se detiene, porque n nunca recibe un número. price sería el nombre que recorre, y la parte doblada no lo usa.

La página siguiente trata del nombre de una parada, cuando el programa se encuentra con un problema. Esta página solo arma una lista en una línea.

Qué muestran las dos listas

  1. ¿Qué escribe el primer programa?
  2. Después de ese programa, ¿qué es prices[0]?
  3. ¿Qué escribe el segundo programa?
  4. ¿Qué pasa si escribes la línea del doble sin los corchetes?

Una lista nueva, y la vieja se queda

La primera pantalla es 4, luego 10, luego 3. prices[0] sigue siendo 2. La segunda es 2, luego 2: el primer número que quedó, luego cuántos quedaron. 5 se quedó fuera. Sin los corchetes el programa se detiene. El nombre que doblas y el nombre después de for son el mismo. La página siguiente trata del nombre de una parada.

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
4
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior