code: def slice_on_length(self, data_len, *addSlices):
          '''
          Returns a slice representing the dimension range
          restrictions applied to a list of length data_len.
  
          If addSlices contains additional slice requirements,
          they are processed in the order they are given.
          '''
          if len(self.ordered_ranges) + len(addSlices) == 0:
              return slice(None,None,None)
          ranges = self.ordered_ranges
          if len(addSlices) > 0:
              ranges = ranges + DimensionRange(*addSlices).ordered_ranges
          return self._combine_lists_of_ranges_on_length(data_len, *rangesf slice_on_length(self, data_len, *addSlices):
          '''
          Returns a slice representing the dimension range
          restrictions applied to a list of length data_len.
  
          If addSlices contains additional slice requirements,
          they are processed in the order they are given.
          '''
          if len(self.ordered_ranges) + len(addSlices) == 0:
              return slice(None,None,None)
          ranges = self.ordered_ranges
          if len(addSlices) > 0:
              ranges = ranges + DimensionRange(*addSlices).ordered_ranges
          return self._combine_lists_of_ranges_on_length(data_len, *ranges)
docs: Returns a slice representing the dimension range
          restrictions applied to a list of length data_len.
  
          If addSlices contains additional slice requirements,
          they are processed in the order they are given.