私はpython3のスライスについて読んでいます。 その後、プログラムを書いて、getitem(self、slice(s))を実装しようとしました。 次のコードは行く:[python]: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
、私はx.stepの範囲は例外を発生作っなし、ではありませんが分かりました。 getitemメソッドを実装するにはどうすればよいですか?
また、 'NewList'クラスは' list'から継承する必要があります... – JBernardo
@JBernardo - スライスオブジェクトを明示的に使用しないでください。 – Alcott