Python 如何使用给定大小的阵列实现网格?
我试图在draw_board定义中创建一个简单的板,它将使用大小和多个坐标,我将在指定坐标中放置1个字符长度的字符。我在开始阶段,只想简单地创建董事会本身使用二维阵列 当我更改单个图元时,以下方法有效:Python 如何使用给定大小的阵列实现网格?,python,arrays,Python,Arrays,我试图在draw_board定义中创建一个简单的板,它将使用大小和多个坐标,我将在指定坐标中放置1个字符长度的字符。我在开始阶段,只想简单地创建董事会本身使用二维阵列 当我更改单个图元时,以下方法有效: board = [['','','',''], ['','','',''], ['', '', '', ''], ['','','','']] board[0][0] = 'a' print(' 0 1 2 3') print('0 ' + board[0][0] + ' ' +
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(尺寸)]
这是因为当您使用*
操作符时,您正在创建对同一对象的更多引用,而不是更多副本
下面是关于上述策略的更深入的信息,称为