First page Back Continue Last page Overview Graphics

Extended List Class

New classes can extend standard classes as well:

class elist(list):

def flatten(self):

""" returns a flattened elist """

result = elist([])

for el in self:

if type(el).__name__ == "elist":

result.extend(el.flatten())

else:

result.append(el)

return result

if __name__ == "__main__":

x = elist([elist([3,7]),4,6])

print(x)

x = x.flatten()

print(x)

x = (elist([elist([3,7]), 4, elist([6, elist([42,43]) ])]))

print(x[2])

print(x.flatten())