python在for循环的特殊情况下递减

Mor*_*itz 5 python loops

我需要在特殊情况下在 python for 循环中递减(或者只是不递增)。

在类 C 语言中,这可以通过递减索引轻松完成,或者如果您有类似迭代器的结构,则可以“递减”迭代器。但我不知道如何在 python 中实现这一点。

一种解决方案是创建一个 while 循环并手动递增,但就我而言,这会带来很多额外的情况,而当我可以递减时,只需要一种情况。

C 示例
for (int i = 0; i < N; ++i) {
    if (some_condition) {
        i--;
    }
}
Run Code Online (Sandbox Code Playgroud)
Python 等效项
for i in range(0, N):
    if some_condition:
        i -= 1        # need something like this
        i = i.prev()  # or like this
Run Code Online (Sandbox Code Playgroud)

小智 -1

如果语句中的条件if与迭代器i本身有某种关系,则循环可能不会结束,但如果不依赖于条件i,则不会有任何问题

您还可以尝试使用 跳过该特定迭代continue