for loop: range() result has too many items

Matt Nordhoff mnordhoff at mattnordhoff.com
Tue Oct 13 23:20:58 EDT 2009


Andre Engels wrote:
[snip]

> However, I think that the better Python way would be to use a generator:
> 
> def infinite_numbergenerator():
>     n = 0
>     while True:
>          yield n
>          n += 1
> 
> for i in infinite_numbergenerator():
>     ...

That's what itertools.count() is for.

<http://docs.python.org/library/itertools.html#itertools.count>

It'll be faster, too, since it's written in C. Not that it really
matters, but it's always nice.
-- 



More information about the Python-list mailing list