On 9-Aug-09, at 12:36 AM, T J wrote:

>>>> z = array([1,2,3,4])
>>>> z[[1]]
> array([1])
>>>> z[(1,)]
> 1
>
> I'm just curious: What is the motivation for this differing behavior?

When you address, i.e. an element in 2D array with a[2,3] you are  
actually indexing z with a tuple object (2,3). The 'comma' operator in  
Python creates a tuple, irrespective of whether you use parens or not.

e.g.

In [192]: z = {}

In [193]: z[2,3] = 5

In [194]: z
Out[194]: {(2, 3): 5}

In the special case of scalar indices they're treated as if they are  
length-1 tuples. The behaviour you're seeing is the same as z[1].

David
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to