Python 学习笔记 -- 生成器

#定义一个生成器,形式与函数相同,区别在于yield关键字,它其实类似于return
def easyYield():
    yield 1
    yield 2

#将生成器实例化一个对象,绑定在变量身上,通过next取得yield的内容
a = easyYield()
print(next(a))
print(next(a))


#第二个实例,升级版的生成器
def libs():
    a,b=0,1
    while True:
        a,b = b,a+b
        yield a


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

#列表推导式
a = [i for i in range(100) if not(i % 2) and i % 3]
print(a)

#字典推导式
b = {i:i%2==0 for i in range(10)}
print(b)

#集合推导式
c = {i for i in [1,2,1,3,12,4,2,2,4,5,3,5]}
print(c)

#生成器推导式
d = (i for i in range(10))
print(next(d))
print(next(d))

 

转载于:https://www.cnblogs.com/jiangchenxi/p/8253858.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值