Python程序设计基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.1.5 列表解析

列表解析(list comprehension,也称为“列表推导式”或“列表的内涵”)是Python语言强有力的语法之一,常用于从集合对象中有选择地获取并计算元素。虽然在多数情况下可以使用for、if等语句组合完成同样的任务,但列表解析书写的代码更简洁(当然有时可能会不易读)。

【例4-5】创建平方数列表的方法比较。

列表解析语句可更加简便快捷地实现上述功能:

列表解析的一般形式如下,可以把[]内的列表解析写为一行,也可以写为多行(以易读为原则):

上面的表达式分为三部分,首先是生成每个元素的表达式,然后是for迭代过程,最后可以设定一个if判断作为过滤条件。

列表解析可以包含较为复杂的表达式和内嵌函数,例如: