Ho letto qualcosa su slice in python3. Poi ho scritto un programma, ho provato a implementare getitem (self, slice (s)). Codice va sotto:[python]: come implementare slice in python3?
class NewList:
def __init__(self, lst):
print('new list')
self._list = lst
def __getitem__(self, x):
if type(x) is slice:
return [ self._list[n] for n in range(x.start, x.stop, x.step) ] #error?
else:
return self._list[x]
...
nl1 = NewList([1,2,3,4,5])
nl1[1:3] #error occurs
Poi ho scoperto x.step è Nessuno, che ha reso gamma sollevare un'eccezione. Quindi, come devo implementare il metodo getitem?
Inoltre, la classe 'NewList' dovrebbe ereditare da' list' ... – JBernardo
@JBernardo - Vuoi dire che dovrei evitare di usare gli oggetti slice esplicitamente? – Alcott