迭代Python 3中的二维对象列表

时间:2015-12-21 19:24:38

标签: python arrays list

我正在尝试在Python 3.35中创建一个简单的基于2D平铺的游戏,但我遇到了多维数组的问题。

我有一个16 * 10大小的区域,我用“floor”对象填充,然后我尝试通过tile调用每个楼层对象的draw方法迭代16 * 10区域区块。这是我遇到麻烦的地方。对于我的生活,我无法弄清楚如何在迭代时调用对象。

这就是我用地板填充区域的方式:

self.tiles = [[],[]]
self.tiles = [[floor() for x in range(self.width)] for x in range(self.height)]

这是我尝试过的:

for x in range(bar.width):
    for y in range(bar.height):
        bar.tiles[x][y].draw(x,y)

我也尝试过:

for x in range(bar.width):
    for y in range(bar.height):
        bar.tiles[0][x][1][y].draw(x,y)

第一个版本尝试遍历列表维度(对于x),并在达到2后超出范围。 第二种选择看起来很有希望,但会出现以下错误:

  

TypeError:'floor'对象不支持索引

有任何帮助吗?感谢。

解决: 好的,第一行应该是

       tiles = [[]]

此后第一个版本正常工作

0 个答案:

没有答案