对于小型游戏,是否存在用于2D阵列的Python模块/配方(非numpy)

chi*_*rag 2 python arrays multidimensional-array

我正在用Pygame和Pyglet编写一些Python小游戏作为业余爱好项目.

2D数组的类非常方便.我使用py2exe将游戏发送给亲戚/朋友,numpy太大了,大部分功能对我的要求都是不必要的.

你能推荐一个我可以使用的Python模块/配方吗?

- 奇拉格

[编辑]:列表列表可用于MatrixFrog和zvoase,如下所述.但它非常原始.具有插入/删除行和列以及旋转/翻转数组的方法的类将使其非常容易和可重用.dicts仅适用于稀疏数组.

谢谢你的想法.

Ste*_*ons 6

如何使用defaultdict?

>>> import collections
>>> Matrix = lambda: collections.defaultdict(int)
>>> m = Matrix()
>>> m[3,2] = 6
>>> print m[3,4]   # deliberate typo :-)
0
>>> m[3,2] += 4
>>> print m[3,2]
10
>>> print m
defaultdict(<type 'int'>, {(3, 2): 10, (3, 4): 0})
Run Code Online (Sandbox Code Playgroud)

由于底层字典使用元组作为键,因此支持1D,2D,3D,...矩阵.