5

可能重复:
Python 十进制范围()步长值

我在 C 中有一个循环:

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

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

for x in xxx

不一样。

我怎样才能在python中制作它?

4

4 回答 4

5
for i in xrange(200*CONST):
    i = i/100.0
于 2012-10-27T08:59:37.477 回答
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
于 2012-10-27T08:59:39.237 回答
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循环参考

于 2012-10-27T09:02:16.657 回答
3

numpy有一种方法可以用来创建一系列浮点数。

from numpy import arange

for x in arange(0, 2*CONST, 0.01):
    do_something(x)
于 2012-10-27T09:14:37.460 回答