初始化矩阵

时间:2015-06-08 17:28:23

标签: python-2.7 matrix

为什么顶行代码会创建一个归零矩阵,但最下面的四行代码会产生错误("列表分配索引超出范围")?

matrix = [ [ 0 for i in range (6)] for j in range(6)]

matrix = [[]]
for i in range (6):
    for j in range (6):
        matrix[i][j] = 0

1 个答案:

答案 0 :(得分:0)

因为第一行是填充矩阵 第二个矩阵定义实际上是创建一个大小为1的数组,另一个数组作为0元素 当i = 1时,它失败了

第二部分的正确形式应该是

matrix = []
for i in range(6):
    temp = []
    for j in range(6):
        temp.append(0)
    matrix.append(temp)