mindspore.mint.where
====================

.. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg
    :target: https://gitee.com/mindspore/mindspore/blob/master/docs/api/api_python/mint/mindspore.mint.func_where.rst
    :alt: 查看源文件


.. py:function:: mindspore.mint.where(condition, input, other)

    返回一个Tensor,Tensor的元素从 `input` 或 `other` 中根据 `condition` 选择。

    .. math::

        output_i = \begin{cases} input_i,\quad &if\ condition_i \\ other_i,\quad &otherwise \end{cases}

    参数:
        - **condition** (Tensor[bool]) - 如果是 ``True`` ,选取 `input` 中的元素,否则选取 `other` 中的元素。
        - **input** (Union[Tensor, Scalar]) - 在 `condition` 为 ``True`` 的索引处选择的值。
        - **other** (Union[Tensor, Scalar]) - 当 `condition` 为 ``False`` 的索引处选择的值。

    返回:
        Tensor,其中的元素从 `input` 和 `other` 中选取。

    异常:
        - **TypeError** - 如果 `condition` 不是Tensor。
        - **TypeError** - 如果 `input` 和 `other` 都是常量。
        - **ValueError** - `condition` 、 `input` 和 `other` 不能互相广播。

    .. py:function:: where(condition)
        :noindex:
    
    与接口 :func:`mindspore.ops.nonzero` 在输入为 `condition` 且 `as_tuple` 为True时一致。