2.18 列表推导式

列表推导式(List Comprehension)提供了一个创建和操作列表的有力工具。

列表推导式由一个表达式以及紧跟着这个表达式的for语句构成,for语句还可以跟0个或多个if或for语句。

我们可以看到下面这个例子:

它先从lst1里面取出第一个数字分别与lst2里面的每个数字相乘,得到3个值,再从lst1中取出第二个数字分别与lst2里面的每个数字相乘,又得到3个值,依此类推,最终得到了9个值。它本质上是个双重循环。

数值判断还可以链接使用,例如1<x<3可以判断变量x是否在1到3之间。这是Python所有的特性,C语言中是不支持的。

比如下图中,lst1列表中的元素是1、2、3,因此满足在1到4之间条件的元素只有2和3:

Last updated