docstr: Returns a copy of the 'i'th row.
          
code: def getrow(self, i):
      """Returns a copy of the 'i'th row."""
      M, N = self.shape
      if i < 0:
          i += M
      if i < 0 or i >= M:
          raise IndexError("row index out of bounds")
      new = self._lil_container((1, N), dtype=self.dtype)
      new.rows[0] = self.rows[i][:]
      new.data[0] = self.data[i][:]
      return new
  
imports: from bisect import bisect_left
  import numpy
  from ._matrix import spmatrix
  from ._base import _spbase, sparray, issparse
  from ._index import IndexMixin, INT_TYPES, _broadcast_arrays
  from ._sputils import getdtype, isshape, isscalarlike, upcast_scalar, check_shape, check_reshape_kwargs
  from .None import _csparsetools
label_desc: Use image node_id 10 for calling the _lil_base obj's underlying member method code with example usage: obj.getrow(i) and returns: new