<br><br><div><span class="gmail_quote">On 10/28/07, <b class="gmail_sendername">Matthieu Brucher</b> &lt;<a href="mailto:matthieu.brucher@gmail.com">matthieu.brucher@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><span class="q"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Little correction, only c[(2,3)] gives me what I expect, not c[[2,3]], which
<br>&gt; is even stranger.
<br><br>c[(2,3)] is the same as c[2,3] and obviously works as you expected.</blockquote></span><div><br><br>Well, this is not indicated in the documentation.</div></div></blockquote><div><br>This is true at the Python level and is not related to numpy. &quot;x=c[2,3]&quot; is equivalent to &quot;x=c.__getitem__((2,3))&quot;.&nbsp; Note that the index pair is passed as a tuple. On the other hand, a single index is not passed as a tuple, but is instead passed as is. For example: &quot;x = c[a]&quot; gets passed as &quot;x=c.__getitem__(a)&quot;. If &#39;a&#39; happens to be &#39;(2,3)&#39; you get the behavior above.
<br><br>So, although lists and arrays can be used for &quot;fancy-indexing&quot;, tuples cannot be since you can&#39;t tell the difference between a tuple of indices and multiple indices inside square brackets.<br><br><br>
[SNIP]<br>&nbsp;</div><br></div><br><br clear="all"><br>-- <br>.&nbsp;&nbsp;__<br>.&nbsp;&nbsp; |-\<br>.<br>.&nbsp;&nbsp;<a href="mailto:tim.hochberg@ieee.org">tim.hochberg@ieee.org</a>