code: def slicing_singlevalue(arg, length):
      
      if isinstance(arg, slice):
          start, stop, step = arg.indices(length)
          i = start
          if step > 0:
              while i < stop:
                  yield i
                  i += step
          else:
              while i > stop:
                  yield i
                  i += step
      else:
          try:
              i = arg.__index__()
          except AttributeError:
              raise TypeError("indices must be integers or slices, not " + arg.__class__.__name__)
          if i < 0:
              i += length
          yield i
docs: Internally used.