Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2012, 12:28
Avatar de OsSk4R
OsSk4R
 
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Dudilla en generadores

Buenas,

Bueno, soy novato en Python y exactamente tengo una duda que me acaba de surgir ahora y no comprendo.

Estoy metido con la comprensión de diccionarios, listas... y generadores. Es en éste es último dónde me he atascado un poco

Veamos, si tengo esto:
Código Python:
Ver original
  1. lista = [1,2,3,4,5];
  2. generador = (n*2 for n in lista);
  3. print(generador);
El resultado es un generador así?
<generator object <genexpr> at 0x024AB120>
Ahora, si hago así:
Código Python:
Ver original
  1. for n in generador:
  2.     print(n);
El resultado es el esperado:
2
4
6
8
10

Mi pregunta, ¿por qué el primer resultado es distinto al segundo?
Según he leído, ¿es porque los generadores se usan en cualquier lugar que se necesite un objeto iterable, cómo por ejemplo un for?
¿y el resultado primero que viene a decir?

Saludos y gracias,