为什么顶行代码会创建一个归零矩阵,但最下面的四行代码会产生错误("列表分配索引超出范围")?
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
答案 0 :(得分:0)
因为第一行是填充矩阵 第二个矩阵定义实际上是创建一个大小为1的数组,另一个数组作为0元素 当i = 1时,它失败了
第二部分的正确形式应该是
matrix = []
for i in range(6):
temp = []
for j in range(6):
temp.append(0)
matrix.append(temp)