code: def cycle_slice(sliceable, start, end):
      
      if type(sliceable) != list:
          sliceable = list(sliceable)
      length = len(sliceable)
  
      if length == 0:
          raise ValueError("sliceable cannot be empty!")
      start = start % length
      end = end % length
  
      if end > start:
          return sliceable[start:end]
      elif end <= start:
          return sliceable[start:] + sliceable[:end]
docs: Given a list, return right hand cycle direction slice from start to end.
  
      Example::
  
          >>> array = [0, 1, 2, 3]
          >>> cycle_slice(array, 1, 3) # from array[1] to array[3]
          [1, 2]
  
          >>> cycle_slice(array, 3, 1) # from array[3] to array[1]
          [3, 0]
  
      **中文文档**