Python之生成器和列表推导式的区别

本文对比了列表推导式和生成器表达式的内存消耗特点,解释了两者在内存分配及值获取方式上的不同,并通过生动的例子帮助理解。

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

生成器表达式和列表推导式的区别:

  1. 列表推导式比较耗内存. 一次性加载. 生成器表达式几乎不占用内存. 使用的时候才分
    配和使用内存
  2. 得到的值不一样. 列表推导式得到的是一个列表. 生成器表达式获取的是一个生成器.

示例

同样一篮子鸡蛋. 列表推导式: 直接拿到一篮子鸡蛋. 生成器表达式: 拿到⼀个老母鸡. 需要
鸡蛋就给你下鸡蛋.
生成器的惰性机制: 生成器只有在访问的时候才取值. 说白了了. 你找他要他才给你值. 不找他
要. 他是不会执行的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值