我一直在使用代码
BOARD = [[0 for i in range(GRIDWIDTH)] for j in range(GRIDWIDTH)]
为我的 pygame 项目的一部分创建一个二维“网格”。
我想知道如何用不同的数字填充网格的边缘,所以我在网格的中心全是零,边缘是一。
谢谢!
我一直在使用代码
BOARD = [[0 for i in range(GRIDWIDTH)] for j in range(GRIDWIDTH)]
为我的 pygame 项目的一部分创建一个二维“网格”。
我想知道如何用不同的数字填充网格的边缘,所以我在网格的中心全是零,边缘是一。
谢谢!
BOARD = [[1] * GRIDWIDTH] + [
[1] + [0]*(GRIDWIDTH-2) + [1] for j in range(GRIDWIDTH-2)
] + [[1] * GRIDWIDTH]
我建议你在这里使用 numpy
>>> import numpy as np
>>> grid = np.zeros(shape=(10,10))
>>> grid[[0,-1],:] , grid[:,[0,-1]] = 1, 1
>>> grid
array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[ 1., 0., 0., 0., 0., 0., 0., 0., 0., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])
>>>