python - Python for 循环 - 我可以从循环内的条件集中跳过多次迭代吗?
问题描述
我有一个遍历范围的 for 循环,但我希望它根据条件跳过多次迭代。这是代码:
for i in range(1,100):
if some_condition:
i += some_number
我要完成的工作:假设 i=5 触发了 some_condition 并且 some_number=2,这将设置 i=7,然后我们迭代到的下一个 i 将是 8,所以我们从不迭代 6 和 7 。 我怎样才能做到这一点?
解决方案
while
使用循环可能更容易:
increment = 2
i = 1
while i < 100:
if some_condition:
i += increment
i += 1
由于for
循环将迭代器重新分配给可迭代项中的下一项,因此您在for
子句中执行的任何操作都不会影响下一次循环迭代时的迭代器。
推荐阅读
- arrays - 数组扩展,其中 Element 是可选的,返回类型是 Wrapped
- excel - 在逗号分隔的字段中进行 Vlookup 搜索
- optimization - 使用(多个)条件三元运算符的性能是否比 GLSL 中的 if 语句更好
- java - 如何在 MongoTemplate 中使用多个 orOperator
- python - 启动新的 kivy 项目时重新下载所有要求
- python - BoxPlot:如何显示年度值而不是季度值?
- entity-framework - 如何更改所有实体的自动生成的“影子属性”外键名称?
- c++ - 如何在 C++ 中计算度数的 sin 值?
- spring-boot - 如何使用 GitLab 无服务器部署 Spring Boot 应用程序?
- javascript - 不使用模块从另一个网站抓取数据