【Python】生成器表达式的运用

生成器表达式的运用

前言

说起生成器表达式,不得不提到列表推导式。列表推导式是我们Python的一个语法糖,目的在于代码优雅性。生成器表达式在形式上的区别是没有列表推导式的中括号。
特点
这种表达式被设计用于生成器将立即被外层函数所使用的情况。 生成器表达式相比完整的生成器更紧凑但较不灵活,相比等效的列表推导式则更为节省内存。

列表推导式

常用于不同业务情况下的列表生成

a
stmt=[i for i in range(10)]
print(stmt)

在这里插入图片描述

生成器表达式

#生成器表达式
print(i for i in range(10))

在这里插入图片描述
如图所示,返回一个生成器对象。故其外部通常会跟一些方法,如sum,max等.。sum、max函数中也可以跟列表推导式,但多了生成列表这步。故资源消耗是相比之下是远远大于生成器表达式的。故在根据业务需要的情况下应灵活使用这两种方法,达到节省资源、提高性能的目的

print(sum(i for i in range(10)))
print(max(i for i in range(10)))

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会振刀的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值