软件测试|Python 实用炫酷技能——推导式
Python 推导式
判断一个程序员水平的高低,不能光看他的发量,也不能光看他的代码量,还要看他代码蕴含的思想,代码的质量。代码蕴含的思想主要体现在各种设计模式的运用上,而代码的质量就既要实现需求,又要保证代码的简洁优雅。保证代码质量是需要长期积累,养成良好的编程习惯,不断思考优化的。
今天就给大家介绍一种实用的保证代码简洁的武功—— Python 推导式。
什么是推导式
推导式 comprehensions(又称解析式),是 python 的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列。
看推导式的定义很抽象,下面我们来看看具体的例子,通过例子来学习常用的四种推导式。
列表推导式
我们先来看一个需求:
快速创建一个包含元素 1-9 的平方的列表
面对这个需求,我们通常的实现方式是这样的:
但是如果我们使用列表推导式,只需要一行代码就可以实现:
查看代码结构,我们可以发现:
更复杂一些的例子:
这个是多个变量的类型,因此我们可以扩展上面的列表推导式:
列表推导式还可以加上条件,变成这样
例如,快速创建一个包含 1-100 之间所有偶数的列表。
字典推导式
字典推导式的形式和列表推导式类似,语法也是类似的,只不过字典推导式返回的结果是字典。
变量名 = {key: value 表达式}
来看一个实例,
集合推导式
集合推导式与列表和字典类似,所以这里直接写出来:
或者带有条件:
实际应用,生成一个存储 10 以内偶数的集合
元组推导式
按照上述 3 个推导式的思路,我们先试着通过推导式输出一个元组,代码如下:
并没有如我们预期的那样生成元组,上面的代码返回的变量其实是一个生成器,并不是一个元组。其实没有真正的元组推导式,我们只能用一个类似的方法来生成元组。
上面代码进行一下小改进就可以生成元组了:
在推导式前,加上 tuple 就可以达到我们的目标。
总结
这里介绍了四种 python 的推导式,主要是用来简化 循环的代码,生成不同的数据结构用的。当然,从这些基础的表达式语法出发,还可以运用到复杂的推导式,大家在写代码时留心使用就会发现它的强大之处。在面试时,也是一个炫技加分项!
评论