用作列表列表的Python类

时间:2017-12-09 19:31:02

标签: python list inheritance nested-lists

我正在尝试创建一个可以作为列表列表工作的python类。但是,到目前为止我所能成功的是,

class MyNestedList(list):
...

我知道上面的代码可以用作,

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

但我希望我的班级能够工作,

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

有人请进一步指导我吗?

编辑:我希望这个类作为deap框架的类型传递,作为我的个体。我无法将列表列表作为我的类型传递,因为它会破坏我的结构。

1 个答案:

答案 0 :(得分:0)

这是一个例子。您必须使用足够的元素初始化嵌套列表,否则您将获得索引错误。

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]