Класс Python, который работает как список списков

Я пытаюсь создать класс Python, который может работать как список списков. Тем не менее, все, что мне удалось разработать, это

class MyNestedList(list):
...

Я знаю, что приведенный выше код будет работать как,

my = MyNestedList()
my[0] = 1
...

Но я хочу, чтобы мой класс работал как,

my[0][0] = 1
...

Кто-нибудь, пожалуйста, ведите меня дальше?

РЕДАКТИРОВАТЬ: я хочу, чтобы класс передавался как тип для глубокой структуры, как мой человек. Я не могу передать список списков как мой тип, поскольку это нарушило бы мою структуру.

1 ответ

Вот пример. Вы должны инициализировать вложенный список с достаточным количеством элементов, иначе вы получите ошибки индекса.

class NestedLst(object):
    def __init__(self, x, y):
        self.data = [[None]*y]*x

    def __getitem__(self, i):
        return self.data[i]

nlst = NestedLst(2, 2)
nlst[0][0] = 10
print nlst[0][0]
Другие вопросы по тегам