《Python3智能数据分析快速入门》—3.2.4 列表推导式
3.2.4 列表推导式
推导式是可以从一个数据序列构建另一个新的数据序列的结构体,能够非常简洁地构造新的变量。列表推导式是其中最常用的类型。
列表推导式又称为列表解析式,是Python迭代机制的一种应用,也是一种高效创建列list的方式,可以动态地创建list。由于列表推导式必须用到遍历循环,因此属于一种特殊的循环。
使用列表推导式时,需要将推导式写在[]中。list中的元素可以来源于其他类型序列、可迭代对象或自建的满足一定条件的序列。使用列表推导式的好处是代码更加简洁,实现效率更高。
列表推导式的基本语法格式如下。
[操作语句 for变量 in 序列 if 条件表达式]
列表推导式常用的参数及其说明如表3-6所示。
表3-6 列表推导式常用的参数及其说明
列表推导式可以不包含条件表达式,只做遍历,生成list,如代码清单3-20所示。
代码清单3-20 使用列表推导式生成list
在代码清单3-20中,除了列表推导式的简单形式,还说明了列表推导式中可以使用多样的函数和变量类型。另外,列表推导式中也可以包含条件语句,如代码清单3-21所示。
代码清单3-21 包含条件语句的列表推导式
列表推导式最大的优点还是简洁,这需要与常规的编程方式进行对比。如代码清单3-22所示,要创建一个平方数组成的list,这里的两种方式是等价的,但列表推导式的方式显然代码更加简洁。
代码清单3-22 常规方式与列表推导式对比
列表推导式中同样可以实现嵌套循环,如代码清单3-23所示。
代码清单3-23 包含嵌套循环的列表推导式
代码清单3-23所示的列表推导式将两个不同list中的元素整合到了一起。列表推导式中包含一对括号,在括号中有一个表达式,表达式后面紧跟一条for语句,然后是零条或多条for语句或if语句。通过for语句和if语句计算出表达式,结果作为新list的元素。
- 点赞
- 收藏
- 关注作者
评论(0)