<div class="gmail_quote">2011/9/20 Stéfan van der Walt <span dir="ltr"><<a href="mailto:stefan@sun.ac.za">stefan@sun.ac.za</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
On Tue, Sep 20, 2011 at 12:43 AM, Robert Kern <<a href="mailto:robert.kern@gmail.com">robert.kern@gmail.com</a>> wrote:<br>
> If the array is short in a dimension, it gets implicitly continued<br>
> with Falses. You can see this in one dimension:<br>
<br>
[...]<br>
<br>
> I honestly don't know if this is documented or tested anywhere or even<br>
> if this existed in older versions.<br>
<br>
The behaviour is already present in 1.4, so I guess it's too late to<br>
insert a shape check now?<br>
<br></blockquote></div>There already is a shape check present in the development version[1]:<br><br>>>> a = np.arange(10)<br>>>> b = np.array([False, True, False])<br>>>> a[b]<br>Traceback (most recent call last):<br>
  File "<stdin>", line 1, in <module><br>ValueError: operands could not be broadcast together with shapes (10) (3) <br><br>But it does not seem to work on multidimensional arrays:<br><br>>>> c = np.arange(12).reshape((4,3))<br>
>>> c[b]<br>array([[3, 4, 5]])<br><br>I also noticed that it does strange things when using a list:<br><br>>>> c[[True, False, True]]<br>array([[3, 4, 5],<br>       [0, 1, 2],<br>       [3, 4, 5]])<br><br>
Regards,<br>Han<br><br>[1] See also: <a href="http://mail.scipy.org/pipermail/numpy-discussion/2011-July/057870.html">http://mail.scipy.org/pipermail/numpy-discussion/2011-July/057870.html</a><br>