2013-05-26 44 views
1

我試圖實施掃雷,所以我有一個2D陣列,其中每個單元格都包含['H', ' ']2個單元格列表的二維陣列

當我嘗試更新所選rowXcol中的第二個值時,它會更新數組中的所有值,而不僅僅是所選的值。 即:

0 1 2 3 
0   
1   
2   
3   
myArr[1][2][1] = 'x' 
0 1 2 3 
0 x x x x 
1 x x x x 
2 x x x x 
3 x x x x 

代替:

0 1 2 3 
0   
1  x 
2 
3 
+5

這與您創建'myArr'的方式有關。你可能做了一些像'[['H',''] * N] * N'。看看[this](http://stackoverflow.com/q/16531580/1258041)和其他有關創建嵌套列表的問題。 –

回答

1

如果您創建2D嵌套列表如下:

lines = 4 
cols = 4 
a = [[['H',' '] for j in range(cols)] for i in range(lines)] 

你不會有這個問題。

+0

謝謝,這是我尋找的答案。 –