循环;至于;在python中就像在C中一样
可能重复:循环;至于;在python中就像在C中一样,python,Python,可能重复: 我有一个C循环: for (float i = 0; i < 2 * CONST; i += 0.01) { // ... do something } 不一样 我怎样才能用python实现它呢?您已经差不多准备就绪了。以下是您在列表中执行此操作的方式:- for i in xrange(200*CONST): i = i/100.0 your_list = [1, 2, 3] for eachItem in your_list: print ea
我有一个C循环:
for (float i = 0; i < 2 * CONST; i += 0.01) {
// ... do something
}
不一样
我怎样才能用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
但您只能给出一个整数
值作为步长值
如果要使用float
increment,则必须稍微修改范围:-
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
def my_范围(开始、结束、步骤):
而start有一个方法可用于创建一系列浮动
from numpy import arange
for x in arange(0, 2*CONST, 0.01):
do_something(x)
我建议使用range而不是xrange,因为range实际上创建了一个浪费spaceThx的数组,你给了我一点方法。@MrSil。不客气:)您应该使用更新代码。我在最后一段代码中错误地写了不正确的范围。现在更正。:)@罗希特·贾因已经解决了我的问题,thx。这看起来是最正确的;range
和xrange
都可以处理整数,而像generator这样的自定义范围允许处理整数。另请参见将大量浮动添加到一起会导致不准确。下面的链接显示了创建浮动范围的更好方法:是的,这种方法很好,而且很容易将该函数转换为生成器。
from numpy import arange
for x in arange(0, 2*CONST, 0.01):
do_something(x)