千锋教育-做有情怀、有良心、有品质的职业教育机构

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

来源:千锋教育
发布时间:2023-11-12 04:24:14
分享

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

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

下面就为大家详细介绍关于Yield方法的使用。

定义生成器函数:

defgetData():

listData=(x**2forxinrange(6))

forxinlistData:

yieldx

获取生成器:

genData=getData()

输出生成器的数据:

print(genData.__next__())

继续输出生成器的数据:

print(next(genData))

遍历输出:

genData1=getData()

forxingenData1:

print(x)

代码执行结果如下:

0

1

0

1

4

9

16

25

总结:

迭代器只有在下次调用的时候才会去计算本次生成的值,而不是像列表那样预先生成所有的值。这种方式需要将所有的值预先保存在列表中,当列表很大的时候,非常消耗内存。

上述就是python中迭代器中Yield方法的全部用法啦,感兴趣的小伙伴可以多多尝试使用哦~更多Python学习教程请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python中datetime的基本介绍 python中datetime的基本介绍在对于一些时间的处理上,如果是简单的时间计算,我们可以选择函数解决。但一些比较复杂的时间问题,还是要用datetime模块来就具体的时间进行分析。作为一个大的模
  • python中ndarray是什么? python中ndarray是什么?在使用python的Numpy数组,时,我们总会遇到ndarray,那ndarray是什么呢?ndarray是Numpy中的一个多维数组的数据结构,在矢量运算中可以
  • python中如何dataframe转换为ndarray? python中如何dataframe转换为ndarray?小编介绍过python中ndarray与series如何相互转换的方法,其实Series转换为ndarray是一个一维数组,作为pandas另
  • python的ndarray与pandas的series如何相互转换? python的ndarray与pandas的series如何相互转换?在python中numpy的数据类型ndarray在数学运算默认为点乘,可以很简单的实现乘法运算,而作为python的pandas
  • python中series如何转为list? python中series如何转为list?Series是python中Pandas包的一个数据结构,与Python基本的数据结构List也很相近,但是作为原生的python数据结构类型,List可以
  • python中series是什么意思 python中series是什么意思pandas中有两个主要的数据结构,一个是Series,另一个是DataFrame。那Series是什么呢?其实Series类似于一维数组与字典(map)数据结构的