2011-08-25 86 views
30

是否有無限版本的range(或者Python 2的xrange),還是需要手動定義它?例如無界範圍()

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

只能給我一個發電機平方高達(n-1)**2,我看不到任何明顯的方式來調用range(infinity)以便它只是不斷道路行駛。

回答

47

你描述的基本使用itertools.count

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