On Mon, 2008-07-28 at 18:40 -0300, Guilherme Polo wrote: > On Mon, Jul 28, 2008 at 6:24 PM, Ervan Ensis <[EMAIL PROTECTED]> wrote: > > My programming skills are pretty rusty and I'm just learning Python so this > > problem is giving me trouble. > > > > I have a list like [108, 58, 68]. I want to return the sorted indices of > > these items in the same order as the original list. So I should return [2, > > 0, 1] > > You could simply do this: > > a = [108, 58, 68] > b = sorted(a) > [b.index(c) for c in a] > > > > > For a list that's already in order, I'll just return the indices, i.e. [56, > > 66, 76] should return [0, 1, 2] > > > > Any help would be appreciated. > > > > -- > > http://mail.python.org/mailman/listinfo/python-list > > > > >
Which'll work fine, unless you end up with a repeated value such as: a = [ 108, 58, 68, 108 ] If you have to deal with that, would need a more complicated solution to find the first free index slot of the available choices. -- John Krukoff <[EMAIL PROTECTED]> Land Title Guarantee Company -- http://mail.python.org/mailman/listinfo/python-list