Python 如何使用给定大小的阵列实现网格?

Python 如何使用给定大小的阵列实现网格?,python,arrays,Python,Arrays,我试图在draw_board定义中创建一个简单的板,它将使用大小和多个坐标,我将在指定坐标中放置1个字符长度的字符。我在开始阶段,只想简单地创建董事会本身使用二维阵列 当我更改单个图元时,以下方法有效: board = [['','','',''], ['','','',''], ['', '', '', ''], ['','','','']] board[0][0] = 'a' print(' 0 1 2 3') print('0 ' + board[0][0] + ' ' +

我试图在draw_board定义中创建一个简单的板,它将使用大小和多个坐标,我将在指定坐标中放置1个字符长度的字符。我在开始阶段,只想简单地创建董事会本身使用二维阵列

当我更改单个图元时,以下方法有效:

board = [['','','',''], ['','','',''], ['', '', '', ''], ['','','','']]
board[0][0] = 'a'

print('   0  1  2  3')
print('0  ' + board[0][0] + '  ' + board[0][1] + '  ' + board[0][2] + '  ' + board[0][3])
print('1  ' + board[1][0] + '  ' + board[1][1] + '  ' + board[1][2] + '  ' + board[1][3])
print('2  ' + board[2][0] + '  ' + board[2][1] + '  ' + board[2][2] + '  ' + board[2][3])
print('3  ' + board[3][0] + '  ' + board[3][1] + '  ' + board[3][2] + '  ' + board[3][3])
但是,我不能仅仅通过一个变量来更改大小,需要自己编辑板的初始化

下面的方法更好,因为我可以很容易地更改大小变量,并得到我想要的任何大小的板

size = 4
board = [['']*size]*size
board[0][0] = 'a'

print('   0  1  2  3')
print('0  ' + board[0][0] + '  ' + board[0][1] + '  ' + board[0][2] + '  ' + board[0][3])
print('1  ' + board[1][0] + '  ' + board[1][1] + '  ' + board[1][2] + '  ' + board[1][3])
print('2  ' + board[2][0] + '  ' + board[2][1] + '  ' + board[2][2] + '  ' + board[2][3])
print('3  ' + board[3][0] + '  ' + board[3][1] + '  ' + board[3][2] + '  ' + board[3][3])
但是当我实现board[0][0]='a'时,它会将整个列更改为'a',这不是我想要的。有没有关于如何更改第二种方法以使其仅适用于所需坐标的建议

使用

board=[''表示范围内的i(尺寸)]表示范围内的j(尺寸)]

这是因为当您使用
*
操作符时,您正在创建对同一对象的更多引用,而不是更多副本

下面是关于上述策略的更深入的信息,称为