Arrays 使用嵌套For循环时的Python3.x索引器

Arrays 使用嵌套For循环时的Python3.x索引器,arrays,for-loop,numpy,python-3.x,2d,Arrays,For Loop,Numpy,Python 3.x,2d,因此,我一直在尝试编写一个很久以前制作的桌面游戏-我现在正在处理图形部分,并尝试使用嵌套For循环绘制9x7瓷砖贴图: 我正在为我的2d阵列使用numpy库 gameboard = array( [[8, 8, 8, 7, 7, 7, 8, 8, 8], [8, 3, 6, 7, 7, 7, 6, 3, 8], [0, 1, 1, 6, 6, 6, 1, 1, 0], [0, 5, 4, 0, 0,

因此,我一直在尝试编写一个很久以前制作的桌面游戏-我现在正在处理图形部分,并尝试使用嵌套For循环绘制9x7瓷砖贴图:

我正在为我的2d阵列使用numpy库

gameboard = array( [[8, 8, 8, 7, 7, 7, 8, 8, 8],
                [8, 3, 6, 7, 7, 7, 6, 3, 8],
                [0, 1, 1, 6, 6, 6, 1, 1, 0],
                [0, 5, 4, 0, 0, 0, 4, 5, 0],
                [0, 3, 2, 0, 0, 0, 2, 3, 0],
                [8, 8, 1, 0, 0, 0, 1, 8, 8],
                [8, 8, 8, 6, 6, 6, 8, 8, 8]] )
def mapdraw():
for x in [0, 1, 2, 3, 4, 5, 6, 7, 8]:
    for y in [0, 1, 2, 3, 4, 5, 6]:
        if gameboard[(x, y)] == 1:
            #insert tile 1 at location
        elif gameboard[(x, y)] == 2:
            #insert tile 2 at location
        elif gameboard[(x, y)] == 3:
            #insert tile 3 at location
                    #this continues for all 8 tiles
                    #graphics update
当我运行这个程序时,我在“if gameboard[(x,y)]==1:
索引器错误:索引(7)超出范围(0您必须使用
[y,x]
对数组进行索引,因为第一个坐标是行索引(对您来说,它是
y
索引)

顺便说一句,请在
范围内迭代,而不是显式列表

for x in range(9):
    for y in range(7):
        if gameboard[y, x] == 1:
            #insert tile 1 at location
        ...

仅供参考:
索引器
表示您试图使用数组边界之外的某个值进行索引(例如,在8x8网格中在
[10,10]
处进行索引)。啊,非常感谢!我早些时候将其设置为范围函数,但当我认为这是错误的原因时,将其删除。现在一切正常!