当前位置: 首页 > 图灵资讯 > 行业资讯> python迭代器中Yield方法怎么用?

python迭代器中Yield方法怎么用?

来源:图灵python
时间: 2024-09-18 21:37:29

Yield用于返回数据,程序执行到 yield 之后,返回结果,记住当前状态,暂停执行。下次调用时,根据上次状态返回下一个结果,记住新状态,暂停执行。一般来说,就是调用一次,返回一个数据,再调用一次,返回下一个数据。是的,类似于我们日常生活中的挤牙膏。

以下是对您的详细介绍使用Yield方法。

定义生成器函数:

defgetData():
listData=(x**2forxinrange(6)
forxinlistData:
yieldx

获取生成器

genData=getData()

输出生成器的数据

print(genData.__next__())

继续输出生成器的数据

print(next(genData))

遍历输出

genData1=getData()
data1:
print(x)

代码执行结果如下:

0
1
0
1
4
9
16
25

总结:

迭代器只在下次调用时计算生成的值,而不是像列表一样提前生成所有值。这样,所有值都需要提前保存在列表中。当列表很大时,内存消耗很大。

上述就是Python中迭代器中Yield方法的所有用法,感兴趣的朋友可以多尝试使用~