聲明大小為n的一維list的方法可以是[0] * n
那么以此類推,是不是[[0] * n] * n就可以聲明二維數組了呢。
答案是否定的。
因為 [] * n和 Java的clone() 函數是一樣的,屬于"淺拷貝"。
也就是說,[[0] * n] * n 是把 [0] * n的“指針” 拷貝了n份。也就是“引用數據類型”。
所以修改[2][3]的話,所有list的第三位全都被修改了。
目前的解決方法是 [[0 for j in xrange(0,m)] for i in xrange(0,n)]
posted on 2012-11-27 13:45
西月弦 閱讀(2505)
評論(0) 編輯 收藏 引用