最新Python列表解析式-生成器_生成器解析式python(1),2024年最新带你全面理解View的绘制流程

文末有福利领取哦~

👉一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。img

👉二、Python必备开发工具

img
👉三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

👉 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
img

👉五、Python练习题

检查学习结果。
img

👉六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
img

img

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

为什么是None?因为表达式只会将函数的返回值作为结果,进行添加,所以当返回值是一个函数操作的对象时,一定要注意函数的返回值!

2.1 列表解析式进阶

有的时候我们的代码需要进行两个或多个循环,列表解析式进阶版本可以满足这种需求哦。它的语法是:

条件表达式可以是多个,但是不能是elif,多个if是并且的关系

多个循环条件等同于循环嵌套,时间复杂度是O(n*内层循环个数)

例子:

3 其他解析式

除了列表解析式以外,Python中还存在集合解析式、字典解析式、‘元组解析式’。

可不是什么元组解析式,这行小字你看不到,可不怪我哦。

3.1 集合表达式

语法:{ 返回值 for 元素 in 可迭代对象 if 条件 }

列表解析式的中括号换成大括号{}即可

同样是立即返回一个集合

注意集合的特性,如果生成了不可hash的元素比如list,那么是不能生成集合的哦,如果元素重复,集合会去重的哦

3.2 字典解析式

语法:{ 返回值(key:value) for 元素 in 可迭代对象 if 条件 }

列表解析式的中括号换成大括号{}即可

请使用key:value格式

立即返回一个字典

注意字典的key相同时,后面的赋值会把之前的值覆盖哦,所以结果是{‘a’: 9, ‘b’: 9, ‘c’: 9, ‘d’: 9, ‘e’: 9, ‘f’: 9}

4 生成器表达式

如果你是从上倒下看的,那么你可能会奇怪,说好的元组表达式呢?如果你是直接跳转过来的,那么请忽略前面这句话。那什么是生成器表达式呢?

生成器表达式是按需计算(或者惰性求值、延迟计算)的,只有需要的时候才计算值,而列表解析式是直接返回一个新的列表,生成器是一个可迭代对象,迭代器。在使用type命令判断对象类型时,generator 就表示一个生成器对象

语法:( 返回值 for 元素 in 可迭代对象 if 条件表达式 )

列表解析式的中括号换成大括号()即可

延迟计算(惰性计算)

只能迭代一次,不能回头

4.1 特点

没错,用括号括起来的并不是元组表达式,而变成了生成器表达式,它本身由于惰性计算的特性和其他解析式有很多不同的特性

计算方式

生成器表达式延迟计算(惰性计算),只有你去向它要,它才会给你计算,而列表解析式在你执行后,会直接给你生成一个新的列表。

内存占用

生成器没有数据,内存占用极少,它是使用时一个一个返回数据,如果将这些返回的数据合起来占用的空间也和列表解析式差不多,但是它不是立即需要这么多空间

计算速度

单看计算时间来看,生成器表达式耗时非常短,列表解析式时长,因为生成器本身并没有任何返回值,只是返回了一个生成器对象,列表解析式构造并返回了一个新的列表,所以看起来更耗时了

遍历

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

那么很难做到真正的技术提升。**

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值