Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unbounded range()

Is there an unbounded version of range (or xrange for Python 2), or is it necessary to define it manually? For example

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

can only give me a generator for the squares up to (n-1)**2, and I can't see any obvious way to call range(infinity) so that it just keeps on truckin'.

like image 957
wim Avatar asked Aug 25 '11 07:08

wim


1 Answers

You're describing the basic use of itertools.count:

import itertools squares = (x*x for x in itertools.count()) 
like image 75
Jeremy Avatar answered Sep 23 '22 03:09

Jeremy