我想将节点对象(包含x和y坐标以及状态之类的东西)存储在二维数组中,这样我就可以像这样访问对象:
array_variable[x, y]
不幸的是,我不知道如何在python中做到这一点,因为我还很陌生。这是相关代码:
class node:
def init(self, x, y, state):
self.x = x;
self.y = y;
self.state = state;
from node import node;
class grid:
def init(self, x, y):
self.width = x;
self.height = y;
self.g = [x, y];
def set_node(self, x, y, state):
print(len(self.g));
n = node();
n.init(x, y, state);
self.g[x][y] = n;
答案 0 :(得分:1)
您可以通过将数据类型定义为object
来使用Numpy:
import numpy as np
array = np.empty((3, 3), dtype=object)
array[0, 0] = Node(...)
答案 1 :(得分:0)
您可以使用以下列表理解方法声明高度为y,宽度为x且由零填充的2d数组:
foo = [[0 for _ in range(x)] for _ in range(y)]
您可以像这样在2d数组中将节点对象存储到位置y,x:
n = node()
foo[y][x] = n
您可以像这样从2d数组访问位置y,x的对象:
node = foo[y][x]