python:yield生成器函数

迭代的最终写法:

.生成器:可迭代对象+迭代器(__iter__+__next__)

用于大数据处理

.生成器函数:含有yield语句的函数

语法3

Def 函数名():

For ……in……数据

If 条件:

Yield 返回值

调用:

For 变量 in 函数

语句

案例:生成1到10的迭代序列

def myrange(dex):

value = 0

while value

yield value

value+=1

调用:

for i in myrange(10):

print(i)

练习:

'''

要取出多个结果一般用生成器可以节少内存

从列表[23,56,33,78,91]中取出偶数

1、直接取放入列表(浪费内存)

2、用生成器取出(节省内存,每次只生成一个数,其它的过生释放)

'''

#1、取出放入列表

list01 = [23, 56, 33, 78, 91]

def onwbumber(mylist):

list02=[]

for itme in mylist:

if itme%2==0:

list02.append(itme)

return list02

print(onwbumber(list01))

#2、用生成器

def mylist(list):

for imte in list:

if imte%2==0:

yield imte

for imet in mylist(list01):

print(imet),

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章