[BangPypers] which is better solution of the question
anandology at gmail.com
Tue Jun 16 18:39:32 CEST 2009
2009/6/16 Abhishek Tiwari <tiwariabhishekin at gmail.com>:
> Question :
> The first list contains some items, and the second list contains their value
> (higher is better).
> items = [apple, car, town, phone]
> values = [5, 2, 7, 1]
> Show how to sort the 'items' list based on the 'values' list so that you end
> up with the following two lists:
> items = [town, apple, car, phone]
> values = [7, 5, 2, 1]
> Ans. 1
> values, items = list(zip(*sorted(zip(values,items), reverse=True)))
> Ans. 2
> new_values = sorted(values, reverse=True)
> new_items = [items[x] for x in map(values.index,new_values)]
> I would like to know which method is better and why?
How about this?
d = dict(zip(items, values))
new_items = sorted(items, key=d.__getitem__, reverse=True)
More information about the BangPypers