Brian Blais wrote: > Hello, > > I have two lists, one with strings (filenames, actually), and one with a > real-number > rank, like: > > A=['hello','there','this','that'] > B=[3,4,2,5] > > I'd like to sort list A using the values from B, so the result would be > in this example, > > A=['this','hello','there','that'] > > The sort method on lists does in-place sorting. Is there a way to do > what I want here?
If A has no duplicate elements, you could create a hash mapping A's elements to their respective precedences, then provide a sort criterion that accessed the hash. Alternatively, you could do something like this: from operator import itemgetter result = map(itemgetter(0), sorted(zip(A, B), key=itemgetter(1))) -- http://mail.python.org/mailman/listinfo/python-list