聲明大小為n的一維list的方法可以是[0] * n
那么以此類(lèi)推,是不是[[0] * n] * n就可以聲明二維數(shù)組了呢。
答案是否定的。
因?yàn)?[] * n和 Java的clone() 函數(shù)是一樣的,屬于"淺拷貝"。
也就是說(shuō),[[0] * n] * n 是把 [0] * n的“指針” 拷貝了n份。也就是“引用數(shù)據(jù)類(lèi)型”。
所以修改[2][3]的話(huà),所有l(wèi)ist的第三位全都被修改了。
目前的解決方法是 [[0 for j in xrange(0,m)] for i in xrange(0,n)]