code: def pop(self, idx=-1):
          
          if (idx < 0 and -idx > self._len) or (idx >= self._len):
              raise IndexError('pop index out of range')
  
          pos, idx = self._pos(idx)
          val = self._lists[pos][idx]
          self._delete(pos, idx)
  
          return val
docs: Remove and return item at *idx* (default last).  Raises IndexError if
          list is empty or index is out of range.  Negative indices are supported,
          as for slice indices.