for循环声明中的函数是否会在Python中多次调用?

时间:2018-11-25 21:32:49

标签: python for-loop time-complexity

有一个函数和一个for循环:

def helper():
    return [1,2,3]

for i in helper():
    print(i)

我想知道辅助函数是否只能在for循环的初始化中被调用一次。正如我在想的那样,如果我调用该函数并预先将return数组分配给一个变量,该变量将在for循环中使用,如下所示:

def helper():
    return [1,2,3]
temp = helper()
for i in temp:
    print(i)

时间复杂度低吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

使用yield操作:

def helper():
    for i in [1,2,3]:
         yield i

for i in helper():
    print(i)

在这种情况下,helper()方法将在每次迭代期间将i的值返回到调用的for循环。