Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.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中跳过for循环中的迭代? 我已经用C++编程了,但我对Python是新手。我搜索了这个,但没有找到合适的答案。在C++中,我可以做到: for(int i=0; i<10;i++) { i+=5; std::cout<<i<<std::endl }_Python_C++_For Loop - Fatal编程技术网

在python中跳过for循环中的迭代? 我已经用C++编程了,但我对Python是新手。我搜索了这个,但没有找到合适的答案。在C++中,我可以做到: for(int i=0; i<10;i++) { i+=5; std::cout<<i<<std::endl }

在python中跳过for循环中的迭代? 我已经用C++编程了,但我对Python是新手。我搜索了这个,但没有找到合适的答案。在C++中,我可以做到: for(int i=0; i<10;i++) { i+=5; std::cout<<i<<std::endl },python,c++,for-loop,Python,C++,For Loop,对于循环的那个迭代,i的值确实会更新,但在下一次迭代中,它将变为1。 虽然我确实理解在Python中,在每次迭代之后,我将包含在由范围生成的元组/列表中的下一个值,但是有什么方法可以让它跳过像C++那样的迭代吗?我真的不想使用next()函数5次 编辑:我可以使用范围函数的第三个参数作为一般用途,但是如果我想跳过一些迭代,比如说如果某个条件为真,该怎么办。乙二醇 for(int i=0; i<10;i++) { if(i%2)i+=1; std::cout<<i&l

对于循环的那个迭代,i的值确实会更新,但在下一次迭代中,它将变为1。 虽然我确实理解在Python中,在每次迭代之后,我将包含在由范围生成的元组/列表中的下一个值,但是有什么方法可以让它跳过像C++那样的迭代吗?我真的不想使用next()函数5次

编辑:我可以使用范围函数的第三个参数作为一般用途,但是如果我想跳过一些迭代,比如说如果某个条件为真,该怎么办。乙二醇

for(int i=0; i<10;i++)
{
   if(i%2)i+=1;
   std::cout<<i<<std::endl
}

for(int i=0;i我知道您在想什么,但是python内置了一些东西,允许您在
range()
函数中设置迭代步骤。是关于
range()
的官方python文档

本质上,要在每次迭代后跳过
x
,您可以执行以下操作:

for i in range(start, stop, x + 1):
    # functions and stuff

希望这能有所帮助。

如果您想在条件为真时跳过迭代,请使用
继续:

for i in range(10):
    if i % 2:
        continue
    print(i)

你可以使用一个常规的
while
循环。它看起来不太好看,但它确实起作用。 例如:

i = 0
while i < 100:
    print i
    if i % 2 == 0:
        i += 5
    i+=1
i=0
当我<100时:
打印i
如果i%2==0:
i+=5
i+=1

<代码> >你可能想使用第三个参数来指定步长。如果不适合你,考虑一个常规的代码> 循环。在Python中这样做的最好方法将取决于为什么你不想跳过5次迭代。你不会像C++例子那样编写代码。有时,玩具简化会掩盖真正的主题。但是,它是。t泛型。只有当你有一个常量跳过时,它才会起作用。如果你必须跳过3和2的倍数呢?@hashcode55这是使用内置的缺点。请参阅Ned Batchelder的解决方案,了解解决问题的区分大小写的方法。问题并不是真的要使用continue作为解决方案。而是要改变循环迭代基于if条件的sed。
if(someCondition){将i的值更改为其他值}
@Nav问题是,“如果我想跳过一些迭代怎么办?”
i = 0
while i < 100:
    print i
    if i % 2 == 0:
        i += 5
    i+=1