-3

I'm trying to create a python class that can work as a list of lists. However, all I've managed to develop so far is,

class MyNestedList(list):
...

I'm aware that the above code will work as,

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

But I want my class to work as,

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

Will anyone please guide me further?

EDIT: I want the class to pass as a type for the deap framework, as my individual. I can't pass list of lists as my type as it would break my structure.

infiniator
  • 21
  • 8

1 Answers1

0

Here is an example. You have to initialize the nested list with enough elements, or you'll get index errors.

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]
laven_qa
  • 151
  • 1
  • 5
  • Can you please provide me with an example on how to use this class? I created a 2x2 array and initialized it with a dict, but it overwrites the elements – infiniator Dec 10 '17 at 05:16
  • @infiniator I update the usage in the anwser. What do you mean by "overwrites the elements"? – laven_qa Dec 10 '17 at 15:31