生成器

一、yield(类似return,可中断)

>>> def libs():
a=0
b=1
while True:
a,b=b,a+b
yield a

二、举例

>>> def libs():
a=0
b=1
while True:
a,b=b,a+b
yield b


>>> for each in libs():
if each >100:
break
print(each,end=' ')

#end 不换行,并加空格

三、推倒式

a=[i for i in range(100) if not(i % 2) and i % 3]
#列表推到式
b={i:i %2 ==0 for i in range(10)}
#字典推倒式
c={i for i in [1, 1, 2, 3, 4, 5, 3, 2, 1]}
#集合推倒式
d="i for i in I love "
e=(i for i in range(10))
#生成器
next(e)

posted on 2018-10-15 16:00  X郭郭  阅读(119)  评论(0)    收藏  举报

导航