Aquí va la implementación:
"Created on 15/05/2010
@author: Bernardo
"
def millon():
i=0
while i < 1000000:
yield i
i+=1
Para llamarlo se hace de la siguiente manera:
f = millon()
print f.next(), f.next()
De esa manera se ahorra construir una lista de un millon de posiciones, reservar espacio, etc, etc. Se van devolviendo los valores en la medida que se necesitan.
Puede usarse:
print dir(f)
De esa manera se ven todas las operaciones asociadas a f.
Saludos!