Code: Alles auswählen
class roundlist(list):
def __getitem__(self,i): return super().__getitem__(i%len(self))
def __setitem__(self,i,v): super().__setitem__(i%len(self),v)
def __delitem__(self,i): super().__delitem__(i%len(self))
def insert(self,i,x): super().insert(i%len(self),x)
def pop(self,i): super().pop(i%len(self))
#HIER ist etwas FALSCH, aber was bloß?
def circulate(self,k): return self[k:]+self[:k]
#
#def __getitem__(self,i): return super().__getitem__(i%len(self))
#TypeError: unsupported operand type(s) for %: 'slice' and 'int'
kreis = roundlist([0,1,2,3,4])
print(kreis)
kreis.circulate(2) #erwartet wird [2,3,4,0,1]
print(kreis)