Unbounded range()

Question:

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’.

Asked By: wim

||

Answers:

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

import itertools
squares = (x*x for x in itertools.count())
Answered By: Jeremy
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.