[SciPy-user] Finding Element Position and Sorting

Alan G Isaac aisaac at american.edu
Sat Jan 12 11:27:51 EST 2008


Using `argsort` was a good suggestion.
More generally you can use a DSU pattern (e.g., below).
(I mention this since you speak of unspecified "objects";
it is not as useful for this specific example.)

Cheers,
Alan Isaac

>>> a = range(8)
>>> m = [1,1,0,2,2,0,2,1]
>>> from itertools import izip
>>> ag1 = [y for x,y in sorted(izip(m,a))]
>>> ag1
[2, 5, 0, 1, 7, 3, 4, 6]
>>> import numpy as N
>>> ag2 = N.fromiter((y for x,y in sorted(izip(m,a))),dtype='int')
>>> ag2
array([2, 5, 0, 1, 7, 3, 4, 6])





More information about the SciPy-User mailing list