python中[[],[],[]]和3 * [[]]之间的区别是什么?

时间:2016-03-13 18:32:13

标签: python python-2.7

我是编程的初学者,我正在尝试编写用于转置矩阵的代码。当我运行以下代码时,会发生逻辑错误:

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*[[ ]]之间的区别是什么?感谢

0 个答案:

没有答案