繁体   English   中英

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

[英]Is a function in a for loop declaration will be called for many times in Python?

有一个函数和一个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)

时间复杂度更低吗?

谢谢!

使用yield操作:

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

for i in helper():
    print(i)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM