def __getitem__(self, item):
    if isinstance(item, slice):
        if item.step is None:
            return list(range(item.start, item.stop))
return list(range(item.start, item.stop, item.step))
превратить срез в диапазон в python