可能是重复问题:
Python decimal range() step value
我有一个C语言的循环:
for (float i = 0; i < 2 * CONST; i += 0.01) {
// ... do something
}
我需要在Python中实现相同的循环,但是:
for x in xxx
不一样。
我如何在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中实现它?
for i in xrange(200*CONST):
i = i/100.0
您几乎就到了终点。以下是如何在列表中完成此操作的方法:-
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
但是您只能使用整数作为步长值。
如果您想使用浮点数增量,则需要稍微修改范围:
for i in xrange(200 * CONST):
print i / 100.0
编写自己的范围生成器。这将帮助您轻松处理非整数步骤值,在整个程序中解决多个相同类型的问题。它也更易读。
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
range
和xrange
都适用于整数,而自定义的类似范围的生成器可以解决这个问题。另请参阅https://dev59.com/oHRB5IYBdhLWcg3w4bKv - Kosnumpy
有一个方法可以用来创建一系列的浮点数。
from numpy import arange
for x in arange(0, 2*CONST, 0.01):
do_something(x)