迭代的最终写法:
.生成器:可迭代对象+迭代器(__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 条评论) “” |