Python sobrecarga varias solicitudes getitems / index

tengo unGrid clase a la que quiero acceder usandomyGrid[1][2]. Sé que puedo sobrecargar el primer conjunto de corchetes con el__getitem__() Método, pero ¿qué pasa con el segundo.

Pensé que podría lograr esto teniendo una clase de ayuda que también implementa__getitem__ y entonces:

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]

Esto parece un poco demasiado hecho en casa ... ¿Cuál es la forma de Python para lograr esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta