生成器及注意事项

# 两种方式实现生成整数11, 22, 33, 44, 55, 66, 77, 88, 99的生成器
# 将列表推导式中的[]换成()即是列表生成器
# 方法1 使用列表生成器
# list1 =[11,22,33,44,55,66,77,88,99]
# a = (i for i in list1)
# for i in range(9):
#     print(next(a))
# 方法2
# list2 = [11,22,33,44,55,66,77,88,99]
# def creatNum():
#     for i in list2:
#         yield i # yield作用 1:当程序运行到当前会被暂时挂起  2 yield会将其后的值作为返回值返回给调用的代码,即文中的creatNum()
#
# a = creatNum()
# next(a)
# print(next(a))
# 方法2函数与生成器的不同
list2 = [11,22,33,44,55,66,77,88,99]
def creatNum():
    for i in list2:
        print(i)
creatNum()
print("-----------------华丽的分割线------------")
# 方法3
a = 11
def makeNum():
    for i in range(1,10):
        yield a*i
c = makeNum()
# for i in range(9):
#     # 使用next()去调用一旦数据被取完会产生崩溃异常
#     print(next(c))
# 为了使程序不在数据取完后崩溃,我们将迭代器对象进行遍历,取出数据即可
for i in c:
    print(i)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值