import itertools
for i in itertools.count(start=1):
if there_is_a_reason_to_break(i):
break
在Python 2,range()
并xrange()
仅限于sys.maxsize
。在Python 3中range()
可以更高,尽管不能达到无穷大:
import sys
for i in range(sys.maxsize**10): # you Could go even higher if you really want
if there_is_a_reason_to_break(i):
break
因此,最好使用count()
。