简单的方法来无限计数

时间:2012-07-11 02:43:49

标签: python

什么是无限计数的好方法?我正在尝试编写一个将继续运行的条件,直到数据库中没有值,因此它将从0迭代到理论上的无穷大(当然在try块内)。

我如何无限地向上计数?或者我应该使用其他东西吗?

我正在寻找类似于其他语言的i ++的东西,它一直在迭代直到失败。

4 个答案:

答案 0 :(得分:20)

看看itertools.count()

来自文档:

  

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