Python 生成器

本文介绍了Python的生成器,一种节省内存的迭代机制。首先定义了生成器的概念,指出其通过延迟计算避免一次性生成大量数据。接着,列举了两种获取生成器的方式:通过列表推导式和借助包含`yield`的函数。最后,讨论了生成器在协程中的作用,协程允许在子程序内部中断并切换到其他子程序,之后可以恢复执行。
摘要由CSDN通过智能技术生成

Python 生成器

1、定义

通过列表生成式(列表推到式),我们可以直接创建一个列表。
但是,受到内存限制,列表容量肯定是有限的。而且,创建一个100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面的绝大多数元素占用的空间都白白浪费了。
所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算除后续的元素呢?
在Python中,这种一边循环一边计算的机制,称为生成器,generator。

2、得到生成器的方式
2.1 通过列表推导式

将外面的 [] 换成()
在这里插入图片描述
在这里插入图片描述
当没有元素能生成时,会报StopIteration的错误

通过循环,依次打印
在这里插入图片描述

2.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值