python二维列表更改

时间:2018-10-17 07:00:39

标签: python arraylist

def main():
   w = [[0]*3] * 3
   print("original w", w)
   w[0][2] = 2
   print("new w:",w)

   k = [[0,0,0],[0,0,0],[0,0,0]]
   k[0][2] = 2
   print("new k",k)

输出为:

original w [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

new w: [[0, 0, 2], [0, 0, 2], [0, 0, 2]]

new k: [[0, 0, 2], [0, 0, 0], [0, 0, 0]]

问题是为什么w [0] [2] = 2使w不仅改变w [0] [2],而且改变w [1] [2]和w [2] [2]的所有第二索引? 我想像k一样更改w(仅更改[0] [2])

我不知道两个列表之间的区别。 感谢您让我知道我的错误!谢谢!

0 个答案:

没有答案