On Mon, Jul 28, 2008 at 7:00 PM, Gary Herron <[EMAIL PROTECTED]> wrote: > 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] >> > > Yuck. Slow, and it fails if duplicate list elements exist.
It wasn't supposed to be the fastest solution, also, he didn't mention duplicated items. > > Also... This looks like a beginners programming assignment. Let's let > him try it himself. We can offer help rather than full solutions if he has > specific Python questions. > > > > > >> >>> >>> 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 >>> >>> >> >> >> >> > > -- > http://mail.python.org/mailman/listinfo/python-list > -- -- Guilherme H. Polo Goncalves -- http://mail.python.org/mailman/listinfo/python-list