深入Python(Dive Into Python) 中文pdf电子书下载
所谓的列表推导式,就是指的轻量级循环创建列表。
基本使用方式
# 创建一个0-10的列表 a = [x for x in range(11)] print(a) """ 输出结果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] """
上面的列表推导式等价于下面,只是代码非常简化。
a = [] for x in range(10): a.append(x)
在循环的过程中使用if
# 创建一个1-10之间偶数的列表 a = [x for x in range(11) if x%2==0] """ 输出结果: [0, 2, 4, 6, 8, 10] """
等价于
a = [] for x in range(11): if x%2 == 0: a.append(x)
2个for循环
a = [(x,y) for x in range(3) for y in range(3)] print(a) """ 输出结果: [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)] """
等价于
a = [] for x in range(3): for y in range(3): a.append((x,y))
练习
生成一个[[1,2,3],[4,5,6]....]的列表最大值在100以内
首先考虑一下正常情况我们应该怎么写
a = [] for x in range(1,100,3): a.append([x,x+1,x+2])
然后再把它转换成列表推导式
a = [[x,x+1,x+2] for x in range(1,100,3)]
文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
转载请注明:谷谷点程序 » python 列表推导式使用详解