Python sobrecarregando múltiplos getitems / solicitações de índice

eu tenho umGrid classe que eu quero acessar usandomyGrid[1][2]. Eu sei que posso sobrecarregar o primeiro conjunto de colchetes com o__getitem__() método, mas o que acontece com o segundo.

Eu pensei que eu poderia conseguir isso por ter uma classe auxiliar que também implementa__getitem__ e depois:

class Grid:

    def __init__(self)
        self.list = A TWO DIMENSIONAL LIST       

    ...

    def __getitem__(self, index):
        return GridIndexHelper(self, index)

class GridIndexHelper:

    def __init__(self, grid, index1):
        self.grid = grid
        self.index1 = index1

    ....

    def __getitem__(self, index):
        return self.grid.list[self.index1][index]

Isso parece um pouco homebrewed ... Qual é o caminho python para conseguir isso?

questionAnswers(4)

yourAnswerToTheQuestion