在python中跳过for循环中的迭代
skip iterations in for loop in python?
我以前用c++编程过,但我是Python的新手。我搜索了这个,但我没能找到合适的答案。在c++中,我可以这样做:
for(int i=0; i<10;i++)
{
i+=5;
std::cout<<i<<std::endl
}
i的值为5和11。但是在python中,如果我这样做:
for i in range(0,10):
i+=5
print i
i的值在循环的迭代中更新,但在下一次迭代中,它将变为1。虽然我确实理解在python中,每次迭代后,我将包含由range生成的元组/列表中的下一个值,但是我是否有任何方法可以使它像c++一样跳过迭代?我真的不想使用next()函数5次
编辑:我可以使用范围函数的第三个参数一般使用,但如果我想跳过一些迭代说,如果只有一个特定的条件是真的。如
for(int i=0; i<10;i++)
{
if(i%2)i+=1;
std::cout<<i<<std::endl
}
如果想在条件为真时跳过迭代,则使用continue
:
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
我知道你在想什么,但是python有一些内置的东西允许你在range()
函数中设置迭代步骤。这里是range()
的官方Python文档。
实际上,要在每次迭代之后跳过x
,您可以这样做:
for i in range(start, stop, x + 1):
# functions and stuff
希望有帮助。
相关文章:
- 如何在C++中从两个单独的for循环中添加两个数组
- 为什么我的for循环不能正确获取argv
- 在基于范围的for循环中使用结构化绑定声明
- 通过for循环使用用户输入填充列表
- 使用for循环检查数组中的重复项
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 正在使用for循环创建QScatterSerie
- Python中的for循环与C++有何不同
- 在更改for循环的第三部分后,未使用for循环结果
- 在 for 循环中查找问题时遇到困难
- 嵌套for循环C++的问题(初学者)
- 如何用for循环在c++中生成单词三角形
- 如何在for循环中包含两个索引值的测试条件
- 带有多个独立参数的C++For循环
- C++ Python 循环"for i, num in enumerate(list):"版本
- C 多循环 for () 基础知识
- 没有条件值的 FOR 循环"for (int i = 1; ; i++)"无法正常工作
- 为用户提供循环for循环的选项
- 打破循环for循环