我正在尝试创建一个可以作为列表列表工作的python类。但是,到目前为止我所能成功的是,
class MyNestedList(list):
...
我知道上面的代码可以用作,
my = MyNestedList()
my[0] = 1
...
但我希望我的班级能够工作,
my[0][0] = 1
...
有人请进一步指导我吗?
编辑:我希望这个类作为deap框架的类型传递,作为我的个体。我无法将列表列表作为我的类型传递,因为它会破坏我的结构。答案 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]