code: def split_by_idxs(seq, idxs):
      '''A generator that returns sequence pieces, seperated by indexes specified in idxs. '''
      last = 0
      for idx in idxs:
          if not (-len(seq) <= idx < len(seq)):
            raise KeyError(f'Idx {idx} is out-of-bounds')
          yield seq[last:idx]
          last = idx
      yield seq[last:f split_by_idxs(seq, idxs):
      '''A generator that returns sequence pieces, seperated by indexes specified in idxs. '''
      last = 0
      for idx in idxs:
          if not (-len(seq) <= idx < len(seq)):
            raise KeyError(f'Idx {idx} is out-of-bounds')
          yield seq[last:idx]
          last = idx
      yield seq[last:]
docs: A generator that returns sequence pieces, seperated by indexes specified in idxs.