class MiLista:
def __init__(self, *args):
self.lista = list(args)
def __str__(self):
return str(self.lista)
def __len__(self):
return len(self.lista)
def __getitem__(self, key):
return self.lista[key]
def __setitem__(self, key, value):
self.lista[key] = value
def __add__(self, other):
nueva_lista = self.lista.copy()
nueva_lista.extend(other.lista)
return MiLista(*nueva_lista)
lista1 = MiLista(1, 2, 3)
lista2 = MiLista(4, 5, 6)
print(lista1) # [1, 2, 3]
print(len(lista1)) # 3
print(lista1[0]) # 1
lista1[0] = 4
print(lista1[0]) # 4
print(lista1 + lista2) # [4, 2, 3, 4, 5, 6]
[1, 2, 3] 3 1 4 [4, 2, 3, 4, 5, 6]