您的当前位置:首页正文

Python 生成器进行next操作时必须先进行调用

2024-11-29 来源:个人技术集锦
def func():
   for i in range(5):
        yield i

for i in range(5):
    print(next(func())

"""
0
0
0
0
0
"""

fun=func()

for i in range(5):
    print(next(fun)

"""
0
1
2
3
4
"""

如果直接对生成器进行next操作的话,每次输出的值都是一样的,因为每一次next操作都会重新遍历一次func(),如果先对func()进行调用的话,每一次next操作都是在同一次遍历中进行。

显示全文