像在C中一样在python中循环“for”

时间:2012-10-27 08:57:34

标签: python

  

可能重复:
  Python decimal range() step value

我在C中有一个循环:

for (float i = 0; i < 2 * CONST; i += 0.01) {
    // ... do something
}

我需要在python中使用相同的循环,但是:

for x in xxx

不一样。

我怎样才能在python中创建它?

4 个答案:

答案 0 :(得分:5)

for i in xrange(200*CONST):
    i = i/100.0

答案 1 :(得分:5)

你快要上线了。这就是你在列表中的表现: -

your_list = [1, 2, 3]
for eachItem in your_list:
    print eachItem

如果您想迭代某个范围: -

for i in xrange(10):
    print i

要给出步长值,您可以使用第三个参数,因此在您的情况下,它将是: -

for i in xrange(2 * CONST, 1):
    print i

但您只能提供integer值作为步骤值。

如果您想使用float增量,则必须稍微修改您的范围: -

for i in xrange(200 * CONST):
    print i / 100.0

答案 2 :(得分:4)

编写自己的范围生成器。这有助于您在整个程序中轻松处理非整数步长值,解决同一类型的多个问题。它也更具可读性。

def my_range(start, end, step):
    while start <= end:
        yield start
        start += step

for x in my_range(1, 2 * CONST, 0.01):
    #do something

<强> For-loop reference

答案 3 :(得分:3)

numpy有一个方法可用于创建一系列浮点数。

from numpy import arange

for x in arange(0, 2*CONST, 0.01):
    do_something(x)