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

时间:2016-08-25 18:33:38

标签: python for-loop runtime

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

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

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

for i in range(n):

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

当我从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