什么是无限计数的好方法?我正在尝试编写一个将继续运行的条件,直到数据库中没有值,因此它将从0迭代到理论上的无穷大(当然在try块内)。
我如何无限地向上计数?或者我应该使用其他东西吗?
我正在寻找类似于其他语言的i ++的东西,它一直在迭代直到失败。
答案 0 :(得分:20)
来自文档:
count(start=0, step=1)
- >计数对象创建一个迭代器,返回以
n
开头的均匀间隔值。 相当于:
def count(start=0, step=1):
# count(10) --> 10 11 12 13 14 ...
# count(2.5, 0.5) -> 2.5 3.0 3.5 ...
n = start
while True:
yield n
n += step
例如:
import itertools
for i in itertools.count(13):
print(i)
将生成一个以13开头的无限序列,步长为+1。而且,我之前没有尝试过,但你当然也可以倒数:
for i in itertools.count(100, -5):
print(i)
从100开始,并为每个新值减去5 ......
答案 1 :(得分:0)
这是一个比其他用户提供的代码小一点的代码!
x = 1
while True:
x = x+1
print x
答案 2 :(得分:0)
使用迭代器而不使用库,要短一些:
x = 0
for x in iter(lambda: x+1, -1):
print(x)
但是它需要当前范围内的变量。
答案 3 :(得分:-1)
xrange
将为您提供一个迭代对象,在迭代时不会使用内存,如果您问我,for
循环比while
循环+计数器更清晰。
import sys
for i in xrange(0,sys.maxint):
print i