2011-08-25 18 views
30

¿Existe una versión ilimitada de range (o xrange para Python 2), o es necesario definirla manualmente? Por ejemploRango ilimitado()

squares = (x*x for x in range(n)) 

sólo me puede dar un generador para las plazas hasta (n-1)**2, y no puedo ver ninguna manera obvia de llamar range(infinity) de modo que apenas guarda en truckin'.

Respuesta

47

Estás describiendo el uso básico de itertools.count:

import itertools 
squares = (x*x for x in itertools.count())