code: def split_sequence_as_iterable(self, values):
          
          print(self.count)
          s = iter(self.index.sorter)
          for c in self.count:
              yield (values[i] for i in itertools.islice(s, int(c)))
docs: Group sequence into iterables
  
          Parameters
          ----------
          values : iterable of length equal to keys
              iterable of values to be grouped
  
          Yields
          ------
          iterable of items in values
  
          Notes
          -----
          This is the preferred method if values has random access, but we dont want it completely in memory.
          Like a big memory mapped file, for instance