parameters: (a)
return_statement: return tuple([out[i] for i in range(len(out))])
docstring: Return the indices of the elements that are non-zero.
  
      Returns a tuple of arrays, one for each dimension of `a`,
      containing the indices of the non-zero elements in that
      dimension. The values in `a` are always returned in
      row-major, C-style order.
  
      To group the indices by element, rather than dimension, use `argwhere`,
      which returns a row for each non-zero element.
  
      Parameters
      ----------
      a : ndarray
          Input array.
  
      Returns
      -------
      tuple_of_arrays : tuple
          Indices of elements that are non-zero.
  
      See Also
      --------
      ndarray.nonzero :
          Equivalent ndarray method.
  
      Notes
      -----
      While the nonzero values can be obtained with ``a[nonzero(a)]``, it is
      recommended to use ``x[x.astype(bool)]`` or ``x[x != 0]`` instead, which
      will correctly handle 0-d arrays.
  
      Examples
      --------
      >>> x = np.array([[3, 0, 0], [0, 4, 0], [5, 6, 0]])
      >>> x
      array([[3, 0, 0],
             [0, 4, 0],
             [5, 6, 0]], dtype=int32)
      >>> np.nonzero(x)
      (array([0, 1, 2, 2], dtype=int64), array([0, 1, 0, 1], dtype=int64))
  
      >>> x[np.nonzero(x)]
      array([3, 4, 5, 6])
      >>> np.transpose(np.stack(np.nonzero(x)))
      array([[0, 0],
             [1, 1],
             [2, 0],
             [2, 1]], dtype=int64)
  
      A common use for ``nonzero`` is to find the indices of an array, where
      a condition is True.  Given an array `a`, the condition `a` > 3 is a
      boolean array and since False is interpreted as 0, np.nonzero(a > 3)
      yields the indices of the `a` where the condition is true.
  
      >>> a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=np.int32)
      >>> a > 3
      array([[False, False, False],
             [ True,  True,  True],
             [ True,  True,  True]])
      >>> np.nonzero(a > 3)
      (array([1, 1, 1, 2, 2, 2], dtype=int64), array([0, 1, 2, 0, 1, 2], dtype=int64))
  
      Using this result to index `a` is equivalent to using the mask directly:
  
      >>> a[np.nonzero(a > 3)]
      array([4, 5, 6, 7, 8, 9], dtype=int32)
      >>> a[a > 3]
      array([4, 5, 6, 7, 8, 9], dtype=int32)
  
      ``nonzero`` can also be called as a method of the array.
  
      >>> (a > 3).nonzero()
      (array([1, 1, 1, 2, 2, 2], dtype=int64), array([0, 1, 2, 0, 1, 2], dtype=int64))
docstring_summary: Return the indices of the elements that are non-zero.
docstring_tokens: Return the indices of the elements that are non - zero .
function: def nonzero(a):
      """
      Return the indices of the elements that are non-zero.
  
      Returns a tuple of arrays, one for each dimension of `a`,
      containing the indices of the non-zero elements in that
      dimension. The values in `a` are always returned in
      row-major, C-style order.
  
      To group the indices by element, rather than dimension, use `argwhere`,
      which returns a row for each non-zero element.
  
      Parameters
      ----------
      a : ndarray
          Input array.
  
      Returns
      -------
      tuple_of_arrays : tuple
          Indices of elements that are non-zero.
  
      See Also
      --------
      ndarray.nonzero :
          Equivalent ndarray method.
  
      Notes
      -----
      While the nonzero values can be obtained with ``a[nonzero(a)]``, it is
      recommended to use ``x[x.astype(bool)]`` or ``x[x != 0]`` instead, which
      will correctly handle 0-d arrays.
  
      Examples
      --------
      >>> x = np.array([[3, 0, 0], [0, 4, 0], [5, 6, 0]])
      >>> x
      array([[3, 0, 0],
             [0, 4, 0],
             [5, 6, 0]], dtype=int32)
      >>> np.nonzero(x)
      (array([0, 1, 2, 2], dtype=int64), array([0, 1, 0, 1], dtype=int64))
  
      >>> x[np.nonzero(x)]
      array([3, 4, 5, 6])
      >>> np.transpose(np.stack(np.nonzero(x)))
      array([[0, 0],
             [1, 1],
             [2, 0],
             [2, 1]], dtype=int64)
  
      A common use for ``nonzero`` is to find the indices of an array, where
      a condition is True.  Given an array `a`, the condition `a` > 3 is a
      boolean array and since False is interpreted as 0, np.nonzero(a > 3)
      yields the indices of the `a` where the condition is true.
  
      >>> a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=np.int32)
      >>> a > 3
      array([[False, False, False],
             [ True,  True,  True],
             [ True,  True,  True]])
      >>> np.nonzero(a > 3)
      (array([1, 1, 1, 2, 2, 2], dtype=int64), array([0, 1, 2, 0, 1, 2], dtype=int64))
  
      Using this result to index `a` is equivalent to using the mask directly:
  
      >>> a[np.nonzero(a > 3)]
      array([4, 5, 6, 7, 8, 9], dtype=int32)
      >>> a[a > 3]
      array([4, 5, 6, 7, 8, 9], dtype=int32)
  
      ``nonzero`` can also be called as a method of the array.
  
      >>> (a > 3).nonzero()
      (array([1, 1, 1, 2, 2, 2], dtype=int64), array([0, 1, 2, 0, 1, 2], dtype=int64))
      """
      out = _api_internal.nonzero(a).transpose()
      return tuple([out[i] for i in range(len(out))])
function_tokens: def nonzero ( a ) : out = _api_internal . nonzero ( a ) . transpose ( ) return tuple ( [ out [ i ] for i in range ( len ( out ) ) ] )