擅长:python、mysql、java
<p>它们当然不是等价的,您可以通过给两个方法提供相同的参数(切换)看到:</p>
<pre><code>>>> a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]])
>>> np.choose([0, 2, 1, 3], a)
array([ 1, 10, 7, 16]) # one from each row
>>> np.take(a, [0, 2, 1, 3])
array([1, 3, 2, 4]) # all from same row
</code></pre>
<p>我建议您阅读关于<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.take.html">^{<cd1>}</a>和<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.choose.html">^{<cd2>}</a>的文档。</p>