对于c+中的循环+;和蟒蛇 我对Python非常陌生。在C++和Python中有一个小的查询。如果在C,C++中修改变量 i>代码>,如下面的例子所示,新的值 i>代码>在下一次迭代中反映,但是在Python中for for循环不是这样。当确实需要跳过某些迭代而不实际使用诸如continue等函数时,如何在python中处理它
c++中循环的对于c+中的循环+;和蟒蛇 我对Python非常陌生。在C++和Python中有一个小的查询。如果在C,C++中修改变量 i>代码>,如下面的例子所示,新的值 i>代码>在下一次迭代中反映,但是在Python中for for循环不是这样。当确实需要跳过某些迭代而不实际使用诸如continue等函数时,如何在python中处理它,c++,python,for-loop,C++,Python,For Loop,c++中循环的for for(int i=0;i<5;++i) { if(i==2) i=i+2; cout<<i<<endl; } python中循环的for for i in range(5): if i==2: i=i+2 print i 输出 0 1 4 0 1 4 3 4 这是因为在python中,在循环的每次迭代中,变量i被选为范围(5)中的下一个元素。但是,在C++中,
for
for(int i=0;i<5;++i)
{
if(i==2)
i=i+2;
cout<<i<<endl;
}
python中循环的for
for i in range(5):
if i==2:
i=i+2
print i
输出
0
1
4
0
1
4
3
4
这是因为在python中,在循环的每次迭代中,变量
i
被选为范围(5)
中的下一个元素。但是,在C++中,变量<代码> i <代码>由循环增量和循环内发生的事情来管理。< /p> < p>这是因为<代码>范围(5)< /> >是代码> [01,1,2,3,4] <代码> >代码> i(范围)(5)< /> >因此<代码> > i [01,1,3.3~4]在循环的每次迭代中将i
变量设置为范围(5)
迭代器的输出。虽然您可以在循环中修改,但它会被覆盖。i
在每次迭代中都会重置,这意味着在下一个循环中忽略对i的任何变异。正如Daniel Fischer在评论中所说,如果您想在Python中实现这一点,请使用while循环
就像:
for (int i = 0; i < 5; ++i) {
int x = i;
if (x == 2) {
x = x + 2;
}
std::cout << x << std::endl;
}
for(int i=0;i<5;++i){
int x=i;
如果(x==2){
x=x+2;
}
STD::CUT我一般建议不要修改C++中的迭代变量,因为这会使代码很难遵循。
在python中,如果您事先知道要迭代哪些值(并且没有太多的值!),您可以构建这些值的列表
for i in [0,1,4]:
print i
当然,如果您真的必须在Python中更改迭代变量,您可以使用while循环
i = 0
while i < 5:
if i==2:
i=i+2
print i
i = i + 1
i=0
当我<5时:
如果i==2:
i=i+2
打印i
i=i+1
在Python中,使用while
来执行这些操作。