Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环;至于;在python中就像在C中一样_Python - Fatal编程技术网

循环;至于;在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)