class_docstr: An ArrayList is a strongly typed list whose type can be anything that can
  be interpreted as a numpy data type.
docstr: x.__delitem__(y) <==> del x[y]
docstr_tok: ["x.__delitem__","(","y",")","<","==",">","del","x","[","y","]"]
code: def __delitem__(self, key):
      """x.__delitem__(y) <==> del x[y]"""
      if not self._sizeable:
          raise AttributeError("List is not sizeable")
  
      # Deleting a single item
      if isinstance(key, int):
          if key < 0:
              key += len(self)
          if key < 0 or key > len(self):
              raise IndexError("List deletion index out of range")
          istart, istop = key, key + 1
          dstart, dstop = self._items[key]
  
      # Deleting several items
      elif isinstance(key, slice):
          istart, istop, step = key.indices(len(self))
          if istart > istop:
              istart, istop = istop, istart
          if istart == istop:
              return
          dstart = self._items[istart][0]
          dstop = self._items[istop - 1][1]
  
      elif key is Ellipsis:
          istart = 0
          istop = len(self)
          dstart = 0
          dstop = self.size
      # Error
      else:
          raise TypeError("List deletion indices must be integers")
  
      # Remove data
      size = self._size - (dstop - dstart)
      self._data[dstart : dstart + self._size - dstop] = self._data[
          dstop : self._size
      ]
      self._size -= dstop - dstart
  
      # Remove corresponding items
      size = self._count - istop
      self._items[istart : istart + size] = self._items[
          istop : istop + size
      ]
  
      # Update other items
      size = dstop - dstart
      self._items[istart : istop + size + 1] -= size, size
      self._count -= istop - istart
  
file_path: vispy/vispy/visuals/collections/array_list.py
imports: import numpy
label_desc: Use image node_id 11 for calling the ArrayList obj's underlying member method code with example usage: obj.__delitem__(key) without return types