* Stephen J. Turnbull wrote: > Chris Angelico writes: > > On Thu, Aug 1, 2013 at 5:58 PM, Alexander Shorin <kxepal at 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>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4