Python перегружает несколько запросов getitems/index

У меня есть класс Grid, к которому я хочу получить доступ, используя myGrid[1][2]. Я знаю, что могу перегрузить первый набор квадратных скобок методом __getitem__(), но как насчет второго.

Я подумал, что смогу добиться этого, имея вспомогательный класс, который также реализует __getitem__, а затем:

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]

Это кажется слишком самодельным... Как это сделать с помощью Python?

]
8
задан jsj 12 June 2012 в 16:16
поделиться