
Nov. 30, 2003
7:31 a.m.
On Fri, Nov 28, 2003 at 06:24:30PM -0500, Raymond Hettinger wrote: ...
students.sort(key=extract('grade')) # key=lambda r:r.grade students.sort(key=extract(2)) # key=lambda r:[2]
Why should the extract function interpret a string argument as getattr and an int argument as getitem? I find the explicit version more readable: students.sort(key=attrgetter('grade')) # key=lambda r:r.grade students.sort(key=itemgetter(2)) # key=lambda r:[2] students.sort(key=itemgetter('grade')) # key=lambda r:r['grade'] Oren