lambda in list comprehension acting funny

John O'Hagan research at
Thu Jul 12 07:29:42 CEST 2012

On Wed, 11 Jul 2012 13:21:34 -0700 (PDT)
John Ladasky <john_ladasky at> wrote:

> Exactly.  It's threads like these which remind me why I never use lambda.  I
> would rather give a function an explicit name and adhere to the familiar
> Python syntax, despite the two extra lines of code.  I don't even like the
> name "lambda".  It doesn't tell you what it is (unless you're John McCarthy),
> a function that you won't re-use and so you don't really need to give it a
> persistent name.  
> I haven't seen any lambdas in any Python library code, or in any of the
> third-party modules I use (numpy, matplotlib, Biopython).  Do they exist?
> Because I have not been forced to do so, I haven't retained a space in the
> top drawer of my programming brain for lambda.

+1 about the name, -1 about the usefulness. For example it's a clear and
concise way to pass a key argument to min, max, sort and friends:

sort(seq, key=lambda x: x.a)

The alternative is to have trivial function definitions floating around the
namespace which readers of the code have to search for.


More information about the Python-list mailing list