是否存在无限制版本range(或xrange对于Python 2),还是有必要手动定义它?例如
range
xrange
squares = (x*x for x in range(n))
只能给我一个生成方的生成器(n-1)**2,而我看不到任何明显的调用方式,以range(infinity)使它一直保持不变。
(n-1)**2
range(infinity)
您正在描述的基本用法itertools.count:
itertools.count
import itertools squares = (x*x for x in itertools.count())