《Python3智能数据分析快速入门》—3.2.4 列表推导式

举报
华章计算机 发表于 2019/07/19 22:26:56 2019/07/19
【摘要】 本节书摘来自华章计算机《Python3智能数据分析快速入门》一书中的第3章,第3.2.4节,作者是李明江 张良均 周东平 张尚佳 。 

3.2.4 列表推导式

推导式是可以从一个数据序列构建另一个新的数据序列的结构体,能够非常简洁地构造新的变量。列表推导式是其中最常用的类型。

列表推导式又称为列表解析式,是Python迭代机制的一种应用,也是一种高效创建列list的方式,可以动态地创建list。由于列表推导式必须用到遍历循环,因此属于一种特殊的循环。

使用列表推导式时,需要将推导式写在[]中。list中的元素可以来源于其他类型序列、可迭代对象或自建的满足一定条件的序列。使用列表推导式的好处是代码更加简洁,实现效率更高。

列表推导式的基本语法格式如下。

[操作语句 for变量 in 序列 if 条件表达式]

列表推导式常用的参数及其说明如表3-6所示。

表3-6 列表推导式常用的参数及其说明

image.png

 

列表推导式可以不包含条件表达式,只做遍历,生成list,如代码清单3-20所示。

代码清单3-20 使用列表推导式生成list

image.png

在代码清单3-20中,除了列表推导式的简单形式,还说明了列表推导式中可以使用多样的函数和变量类型。另外,列表推导式中也可以包含条件语句,如代码清单3-21所示。

代码清单3-21 包含条件语句的列表推导式

image.png

列表推导式最大的优点还是简洁,这需要与常规的编程方式进行对比。如代码清单3-22所示,要创建一个平方数组成的list,这里的两种方式是等价的,但列表推导式的方式显然代码更加简洁。

代码清单3-22 常规方式与列表推导式对比

image.png

image.png

列表推导式中同样可以实现嵌套循环,如代码清单3-23所示。

代码清单3-23 包含嵌套循环的列表推导式

image.png

代码清单3-23所示的列表推导式将两个不同list中的元素整合到了一起。列表推导式中包含一对括号,在括号中有一个表达式,表达式后面紧跟一条for语句,然后是零条或多条for语句或if语句。通过for语句和if语句计算出表达式,结果作为新list的元素。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。