【发布时间】:2016-05-27 23:54:11
【问题描述】:
嵌套的 for 循环(在本例中为双 for 循环)如何创建二维列表。
例如,我想要一个 2x2 矩阵,每个元素都初始化为 0。
我知道了:
x = [[0 for i in range(row)] for j in range(col)]
其中 row 定义为矩阵中的行数,col 定义为矩阵中的列数。在这种情况下,row = 2 和 col = 2。
当我们打印 x 时:
print(x)
我们会得到:
[[0, 0], [0, 0]]
这是我们想要的。
这背后的逻辑是什么? [0 for i in range(row)] 是不是说,对于指定行号范围内的每个元素,我们将分配一个 0 以有效地创建矩阵中的第一行?
那么for j in range(col)是说我们根据指定的列号重复创建这个列表以有效地创建更多的行,最终成为列?
我应该如何从左到右阅读这段代码 sn-p?
【问题讨论】:
-
下面的答案很好,但文档已经很好地涵盖了它:docs.python.org/2/tutorial/…