Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   [B,IX] = sort(A,...) - Order for sort()-function (http://www.velocityreviews.com/forums/t510311-b-ix-sort-a-order-for-sort-function.html)

 =?iso-8859-1?Q?=22Orlando_D=F6hring=22?= 05-29-2007 03:31 PM

[B,IX] = sort(A,...) - Order for sort()-function

Dear community,

I want to use the sort function to sort a (nested) list. General information can be found below.

http://www.python.org/doc/2.4.2/lib/...q-mutable.html
http://wiki.python.org/moin/HowTo/Sorting
http://www.python.org/doc/2.4.4/whatsnew/node12.html

I want to solve the following problem. Given a list I do not only want to retrieve the sorted list but also the position of the original elements (IX below). The example is taken from Matlab syntax:

http://www.mathworks.com/access/help.../ref/sort.html

'[B,IX] = sort(A,...) also returns an array of indices IX, where size(IX) == size(A). If A is a vector, B = A(IX). If A is an m-by-n matrix, then each column of IX is a permutation vector of the corresponding column of A, such that
for j = 1:n
B(:,j) = A(IX(:,j),j);
end'
--

A = [ 3 7 5
0 4 2 ];

# in Python: A = [[3,7,5],[0,4,2]]

[B,IX] = sort(A,2)

# sort by rows

B =
3 5 7
0 2 4

IX =
1 3 2
1 3 2

# first line: 3 was formerly in the first position, 5 formerly in position 3, 7 formerly in position 2
# second line: similiarly

Yours,

Orlando

--
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kanns mit allen: http://www.gmx.net/de/go/multimessenger

 All times are GMT. The time now is 02:55 PM.