* Stephen J. Turnbull wrote: > Chris Angelico writes: > > On Thu, Aug 1, 2013 at 5:58 PM, Alexander Shorin <kxe...@gmail.com> wrote: > > > fun = lambda i: i[1] > > > for key, items in groupby(sorted(items, key=fun), key=fun): > > > print(key, ':', list(items)) > > > > I'd do a direct translation to def here: > > > > def fun(i): return i[1] > > for key, items in groupby(sorted(items, key=fun), key=fun): > > print(key, ':', list(items)) > > As long as it's about readability, why not make it readable? > > def second(pair): return pair[1] > for key, items in groupby(sorted(items, key=second), key=second): > print(key, ':', list(items)) > > I realize it's somewhat unfair (for several reasons) to compare that > to Alexander's "fun = lambda i: i[1]", but I can't help feeling that > in another sense it is fair.
Seems to run OT somewhat, but "second" is probably a bad name here. If the key changes, you have to rename it in several places (or worse, you DON'T rename it, and then the readability is gone). Usually I'm using a name with "key" in it - describing what it's for, not how it's done. The minimal distance to its usage is supporting that, too. nd -- "Das Verhalten von Gates hatte mir bewiesen, dass ich auf ihn und seine beiden Gefährten nicht zu zählen brauchte" -- Karl May, "Winnetou III" Im Westen was neues: <http://pub.perlig.de/books.html#apache2> _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com