[B,IX] = sort(A,...) - Order for sort()-function
Orlando Döhring
orl at gmx.de
Tue May 29 10:34:22 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
--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20070529/7df8574a/attachment.html>
More information about the Python-list
mailing list