Python 中的多类型存储阵列

Multi-type storage array in Python

我正在 python3.6 编写游戏。棋盘上有一些棋子,它们是class'pawn'的实例。棋盘上还有 巨石 ,它们是 class 巨石的实例。我只想将这些棋子和巨石存储在 数组 中,就像 numpy.array.

我有 2 个问题:

我该如何解决这两个问题?是否已经有一个对象可以表示网格,一个数组并且接受不同的类型?

使用np.dtype(object)np.array(board, dtype=np.dtype(object))

至于空单元格:只需将它们设置为None


编辑:正如一些人所建议的,您可能根本不需要 numpy 数组。列表列表或带有元组索引的字典可能会很好地解决您的问题并消除使用 numpy 的开销。