我是编程的初学者,我正在尝试编写用于转置矩阵的代码。当我运行以下代码时,会发生逻辑错误:
def transpose(matrix):
x=0
trans=len(matrix[0])*[[]]
for list in matrix:
for element in list:
trans[x].append(element)
x+=1
x=0
return trans
transpose([[1,2,3], [4,5,6]])
输出:[[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6]]
但是当我用trans=[[ ],[ ],[ ]]
替换第3行时,代码效果很好! [[ ],[ ],[ ]]
和3*[[ ]]
之间的区别是什么?感谢