小编典典

Python'列表索引必须是整数,而不是元组”错误

python

我正在努力使机器人围绕8 x 8的2d网格室移动,其中一部分正在初始化传感器,该传感器由围绕机器人的最近5个瓦片组成。

self.sensors = [0 for x in xrange(5)]

在这里,我创建了一个由5个元素组成的数组。

但是当我尝试像这样设置传感器的值时:

    if self.heading == 'East':
        self.sensors[0] = self.room[self.x, self.y-1]
        self.sensors[1] = self.room[self.x+1, self.y-1]
        self.sensors[2] = self.room[self.x+1, self.y]
        self.sensors[3] = self.room[self.x+1, self.y+1]
        self.sensors[4] = self.room[self.x, self.y+1]

我得到“列表索引必须是整数,而不是元组”的错误。


阅读 435

收藏
2021-01-20

共1个答案

小编典典

您说的self.room是一个“二维网格”-我假设它是一个列表列表。在这种情况下,您应该以以下方式访问其元素

self.room[self.x][self.y-1]

而不是用该对索引外部列表self.x, self.y-1

2021-01-20