如何在 Python for 循环中添加条件

How to add a condition in Python for loop

在Java中,FOR循环语法提供了一个我们可以添加条件的地方。例如,在下面的代码中,条件是 i*j < n

for (i=0; i*j < n; i++) 
{ ... }

在Python中,如何在for循环语句中添加这样的条件?

for i in range(n):

我知道我们可以在 for 循环中添加一个 if 语句,但我担心它会将 运行 时间增加到 O(n)。请指教

for 的复杂度为 O(n),因此 if 不会改变复杂度。

Java中的for(i=0; i*j < n; i++)在Python中表示为while

i = 0  # initialization
while i * j < n:  # conditions
   do_something
   i += 1  # step

当我从C转为python时,这是我最大的烦恼之一,但事实证明这实际上是对语法的误解。在python中,虽然你可以写成for i in range(n),但这通常表明你做错了什么。人们认为遍历元素比遍历数字更好。举个具体的例子,在 C 中,你可以这样写

for(i=0; i<len(str); i++){
    str[i] blah blah blah
}

在 python 中,您可能会这样做的方式是直接遍历字符:

for char in str:
    char blah blah blah