这篇文章主要介绍”Python语法举例分析”,在日常操作中,相信很多人在Python语法举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“Python语法举例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1。列表索引的各种骚操作
Python引入负整数作为数组的索引,这绝对是喜大普奔之举。想想看,在C/c++中,想要数组最后一个元素,得先取得数组长度,减一之后做索引,严重影响了思维的连贯性.Python语言之所以获得成功,我个人觉得,在诸多因素里面,列表操作的便捷性是不容忽视的一点。请看:
<>之前在祝辞祝辞,a =, (0, 1,, 2,, 3,, 4,, 5] 在祝辞祝辞,一个[2:4] (2,3) 在祝辞祝辞,一个[3:] [3,,4,,5] 在祝辞祝辞,一个[1:] [1,2,3,4,5] 在祝辞祝辞,一个[:] [0,1,2,3,4,5] 在祝辞祝辞,一个[::2] [0,,2,,4] 在祝辞祝辞,一(1::2) (1,,3,,5] 在祝辞祝辞,一个[1] 5 在祝辞祝辞,一个[2] 4 在祝辞祝辞,一(1):1) (1,,2,,3,,4] 在祝辞祝辞,一个[::1] [5,,4,,3,,2,,1,,0] 1 2 3. 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20. 21日如果说,这些你都很熟悉,也经常用,那么接下来这个用法,你一定会感觉很神奇:
<>之前在祝辞祝辞,a =, (0, 1,, 2,, 3,, 4,, 5] 在祝辞祝辞,b =,(& # 39;一个# 39;,,& # 39;b # 39;】 在祝辞祝辞,一个(2:2),b=, ,在的在的在一个 [0,1,& # 39;一个# 39;,,& # 39;b,,, 2,, 3,, 4,, 5] 在祝辞祝辞,一个[3:6],=,b ,在的在的在一个 [0,1,& # 39;一个# 39;,,& # 39;一个# 39;,,& # 39;b # 39;,, 4,, 5] 1 2 3. 4 5 6 7 82。λ函数
λ听起来很高大上,其实就是匿名函数(了解js的同学一定很熟悉匿名函数)。匿名函数的应用场景是什么呢?就是仅在定义匿名函数的地方使用这个函数,其他地方用不到,所以就不需要给它取个阿猫阿狗之类的名字了。下面是一个求和的匿名函数、输入参数有两个,x和y,函数体就是x + y,省略了返回关键字。
<>之前在祝辞祝辞,lambda x, y: x + y & lt; function & lt; lambda>, at 0 x000001b2de5bd598> 在祝辞祝辞,(lambda x, y: x + y)(3、4), #,因为匿名函数没有名字,使用的时候要用括号把它包起来 1 2 3匿名函数一般不会单独使用,而是配合其他方法,为其他方法提供内置的算法或判断条件。比如,使用排序函数排序对多维数组或者字典排序时,就可以指定排序规则。
<>之前在祝辞祝辞,a =,[{& # 39;名字# 39;:& # 39;b # 39;,, & # 39;年龄# 39;:50},,{& # 39;名字# 39;:& # 39;一个# 39;,,& # 39;年龄# 39;:30},,{& # 39;名字# 39;:& # 39;c # 39;,, & # 39;年龄# 39;:40}] 祝辞祝辞祝辞,排序(,,关键=lambda x: x[& # 39;名字# 39;]),#,按姓名排序 [{& # 39;名字# 39;:,& # 39;一个# 39;,,& # 39;年龄# 39;:,30},,{& # 39;名字# 39;:,& # 39;b # 39;,, & # 39;年龄# 39;:,50},,{& # 39;名字# 39;:,& # 39;c # 39;,, & # 39;年龄# 39;:,40}] 祝辞祝辞祝辞,排序(,,关键=lambda x: x[& # 39;年龄# 39;]),#,按年龄排序 [{& # 39;名字# 39;:,& # 39;一个# 39;,,& # 39;年龄# 39;:,30},,{& # 39;名字# 39;:,& # 39;c # 39;,, & # 39;年龄# 39;:,40},,{& # 39;名字# 39;:,& # 39;b # 39;,, & # 39;年龄# 39;:,50}] 1 2 3. 4 5再举一个数组元素求平方的例子,这次用地图函数:
<>之前在祝辞祝辞,a =, (1、2、3) 祝辞祝辞祝辞,for item 拷贝地图(lambda x: x * x,,一个): 打印(项目,,=& # 39;,,& # 39;) 1,4日,9日, 1 2 3. 4 53。产量以及生成器和迭代器
收益率这词儿,真不好翻译,翻词典也没用。我干脆就读作“一爱得”,算是外来词汇吧。要理解产量,得先了解发生器(生成器)。要了解生成器,得先知道迭代器(迭代器)。哈哈哈,绕晕了吧?算的了,我还是说白话吧。
话说py2时代,范围()返回的是列表,但如果范围(10000000)的话,会消耗大量内存资源,所以,py2又搞了一个xrange()来解决这个问题.py3则只保留了xrange(),但写作范围().xrange()返回的就是一个迭代器,它可以像列表那样被遍历,但又不占用多少内存.generator(生成器)是一种特殊的迭代器,只能被遍历一次,遍历结束,就自动消失了。总之,不管是迭代器还是生成器,都是为了避免使用列表,从而节省内存。那么,如何得到迭代器和生成器呢?