Python学习笔记——生成器

据说今天是七夕。跟我没鸡毛关系。

分期把生成器记录下。

我们先看一个例子。

这里写图片描述

这是个列表,建立这个列表的方式是列表表达式。

这里写图片描述

看看,我如果用一个比较大的数据,这得吃我多少内存空间。我作死了一把,截图的时候卡的要死。

我内存8G 一个Python 吃6G,电脑要炸啊这是。

真是令人窒息的操作。

我们引进生成器的一个原因就是。我们在用列表的数据的时候,肯定不是同时每个都需要,所以我们不需要把这些东西都同时生成,可以用一个生成一个。这样会节省很多空间。

构造生成器

1.表达式构造

我们可以通过表达式构造生成器

例如:

这里写图片描述

a是列表。

b就是生成器

就这么简单,它占内存比列表稍多了呢。

我们用生成器试试刚才那个大数字。

这里写图片描述

秒生成啊,而且也是正常的内存占用。

这里写图片描述

那我们如果使用它呢?这样用

这里写图片描述

使用next(生成器)

但是超过它的生成范围可就报错了哟

显示了停止迭代。(生成器可都是迭代器对象哟~,迭代器对象可不一定是生成器的。)

今天就到这里,我要去复习下迭代器。。都忘光了。(滑稽)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值