Does python have a native iterable of the infinite integer series?
I've tried range(float('inf')) and iter(int), but neither work.
I can obviously implement my own generator along the lines of
def int_series(next=1):     while True:         next += 1         yield next   but this feels like something which should already exist.
Yes. It's itertools.count:
>>> import itertools >>> x = itertools.count() >>> next(x) 0 >>> next(x) 1 >>> next(x) 2 >>> # And so on...   You can specify start and step arguments, though stop isn't an option (that's what xrange is for):
>>> x = itertools.count(3, 5) >>> next(x) 3 >>> next(x) 8 >>> next(x) 13 
                        You can use itertools.count for this.
for x in itertools.count():     # do something with x infinite times   If you don't want to use the integer returned by count(), then better use itertools.repeat:
for _ in itertools.repeat(None):      # do something infinite times 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With