code: def batch_delete_idx(self, idx_list: Iterable[int]) -> "IndexStore":
      new_idxstore = IndexStore()
      last_idx_to_delete = -1
      number_of_values = self.getnumvals()
      for idx_to_delete in sorted(idx_list):
          if idx_to_delete >= number_of_values:
              raise ValueError(
                  "index " + str(idx_to_delete) + " not found"
              )
          new_idxstore._i2val += self._i2val[
              last_idx_to_delete + 1 : idx_to_delete
          ]
          last_idx_to_delete = idx_to_delete
      new_idxstore._i2val += self._i2val[last_idx_to_delete + 1 :]
      new_idxstore._val2i = {
          val: i for i, val in enumerate(new_idxstore._i2val)
      }
      new_idxstore._next_i = len(new_idxstore._val2i)
  
      return new_idxstore
  
file_path: scattertext/scattertext/indexstore/IndexStore.py
imports: from typing import Any, Iterable, List, Set, Tuple
label_desc: Use image node_id 15 for calling the IndexStore obj's underlying member method code with example usage: obj.batch_delete_idx(idx_list) and returns: new_idxstore