[B,IX] = sort(A,...) - Order for sort()-function
"Orlando Döhring"
orl at gmx.de
Tue May 29 11:31:23 EDT 2007
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/typesseq-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/helpdesk/help/techdoc/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
More information about the Python-list
mailing list