点击跳转 《Python入门系列目录》
高效创建新列表的方式,动态创建列表
Python迭代机制的一种应用
data = [num for num in range(20) if num % 2 == 1] # 等价于 data = [] for num in range(20): if num % 2 == 1: data.append(num) ls = [(i, j) for i in range(0, 3) for j in range(0, 3)] # 等价于 ls = [] for i in range(0, 3): for j in range(0, 3): ls.append((i, j)) ls = [(i, j) for i in range(0, 3) if i < 1 for j in range(0, 3) if j > 1] # 等价于 ls = [] for i in range(0, 3): if i < 1: for j in range(0, 3): if j > 1: ls.append((i, j))生成九九乘法表
L = ['%d * %d = %d' % (x, y, x * y) for x in range(1, 10) for y in range(1, 10)]生成矩阵
一维矩阵
如[1, 2, 3]、[aa, bb, cc]二维矩阵
如[[1, 2, 3], [4, 5, 6]]A = [ 1 2 3 4 5 6 ] A = \left[ \begin{matrix} 1 & 2 & 3\\ 4 & 5 & 6\\ \end{matrix} \right] A=[142536]
生成一维矩阵:长度为100,每个元素都为0
ls = [0]*100 ls = [0 for i in range(100)]生成二维矩阵,A=[[1, 2], [1, 2], [1, 2]]
方法一
A = [[1, 2]]*3注意: 这种方法有一个致命的问题,当执行A[0][0]=5的时候,矩阵会变成A=[[5, 2], [5, 2], [5, 2]]
方法二
A = [[1, 2] for i in range(3)]推荐使用这种列表推演表达式的方式生成二维矩阵