python学习,day4:生成器

本文深入探讨了Python中生成器与列表的区别,重点讲解了生成器如何在调用时生成数据,节省内存资源,以及其只保留当前生成数据的特点。通过代码示例对比了列表生成式与生成器表达式的使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、生成器:只有在调用是才会生成相应的数据。(比较省内存,它只保留当时生成的。而列表会保存整个列表)

 1 a = [i*2 for i in range(10)] #列表生成式

2 print(a) 

这样会把整个列表都生成出来

2、而生成器不会,只记录当前的位置

1 b =(i*2 for i in range(10000))   #生成器
2 for i in b:                   #只显示当前的,之前之后的都不会保留在内存中
3     print(i)

3、只有一个__next__()方法,读取下一个

1 b =(i*2 for i in range(10000))
2 print(i)
3 print(b.__next__())

 

转载于:https://www.cnblogs.com/bbgoal/p/10438657.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值