Python :生成器(generator) 上

本文介绍了Python中的生成器,一种特殊的数据结构。生成器的语法类似列表推导式,但使用圆括号而非方括号。与列表不同,生成器无法通过索引访问元素,需借助`__next__()`或`next()`方法逐个获取。通过示例展示了生成器的使用及异常处理机制。
摘要由CSDN通过智能技术生成

在Python当中吗,生成器是一种比较特殊的数据结构,也是十分常见的数据结构,它和列表推倒式的书写方法一致,只是最外面的列表中括号被替换成了括号。凡是最外面是括号的推倒式则是生成器,在生成器当中我们不能够像列表一样通过索引得到一个元素的信息,而是需要调用__next__()方法或者next()方法才能得到生成器元素当中的信息。下面是一个简单的列表推倒式,我们和生成器对比对比:

list = [x*3 for x in range(10)]
print("列表推倒式得到的结果是:")
print(list)
print()

输出:

列表推倒式得到的结果是:
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

然后下面是生成器的代码:

generator = (x*3 for x in range(10))
print(type(generator))# 生成器的type
print(generator)# 直接打印生成器,不能像列表一样直接得到列表的结果

得到:

<class 'generator'>
<generator object <genexpr> at 0x000001A0073E04C8>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值