On 03/10/2013 08:16 PM, Dave Friedman wrote:
Hi all,
>
> I'm teaching myself Python in part with Google's course, and one of the exercises is to sort a list of tuples by the last element. > e.g.: a list [(1, 7), (1, 3), (3, 4, 5), (2, 2)] yields [(2, 2), (1, 3), (3, 4, 5), (1, 7)].
>
> My answer, after figuring out lambda functions, is
> def sort_last(tuples):
> return sorted(tuples, key= lambda t: t[-1])
>
> Google's answer is much more straightforward, except for one part.
> def sort_last(tuples)
> return sorted(tuples, key=last)
>
> What is 'last', and where can I find a description of it? Searching the web and the python docs hasn't been helpful. (Maybe I'm searching badly?)
> Insight and pointers appreciated.
>
> Thanks,
> -Dave
>


There is no such python builtin. I would use operator.itemgetter:

from operator import itemgetter

return sorted(tuples, key=itemgetter(-1))


 -m


--
Lark's Tongue Guide to Python: http://lightbird.net/larks/

Oaths are the fossils of piety.  George Santayana

_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to