[Python-Dev] PEP 8: Discourage named lambdas?
Greg Ewing
greg.ewing at canterbury.ac.nz
Mon May 5 02:59:36 CEST 2008
Raymond Hettinger wrote:
> lastname_firstname = lambda r: (r[0].lower(), r[5].lower())
> for k, g in groupby(iterable, key=lastname_firstname): ...
>
> That transformation adds clarity. Going further and creating a separate
> def-statement outside the current function would just move the relevant
> code farther away and impair readability.
It doesn't have to be outside the function -- it can be
in exactly the same place as the lambda assignment above.
def lastname_firstname(r):
return (r[0].lower(), r[5].lower())
for k, g in groupby(iterable, key=lastname_firstname):
...
Maybe "def is an executable statement" is another thing
people have a blind spot about?
--
Greg
More information about the Python-Dev
mailing list