numpy array operation

Terry Reedy tjreedy at udel.edu
Tue Jan 29 15:05:09 EST 2013


On 1/29/2013 1:49 PM, Alok Singhal wrote:
> On Tue, 29 Jan 2013 00:41:54 -0800, C. Ng wrote:
>
>> Is there a numpy operation that does the following to the array?
>>
>> 1 2  ==>  4 3
>> 3 4       2 1
>>
>> Thanks in advance.
>
> How about:
>
>>>> import numpy as np
>>>> a = np.array([[1,2],[3,4]])
>>>> a
> array([[1, 2], [3, 4]])
>>>> a[::-1, ::-1]
> array([[4, 3], [2, 1]])
>

Nice. The regular Python equivalent is

a = [[1,2],[3,4]]
print([row[::-1] for row in a[::-1]])
 >>>
[[4, 3], [2, 1]]

The second slice can be replaced with reversed(a), which returns an 
iterator, to get
[row[::-1] for row in reversed(a)]
The first slice would have to be list(reversed(a)) to get the same result.

-- 
Terry Jan Reedy




More information about the Python-list mailing list