A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2014-January/132085.html below:

[Python-Dev] lambda (x, y):

[Python-Dev] lambda (x, y):Brett Cannon brett at python.org
Sun Jan 26 01:01:31 CET 2014
On Sat, Jan 25, 2014 at 12:41 AM, Greg Ewing <greg.ewing at canterbury.ac.nz>wrote:

> Brett Cannon wrote:
>
>>
>> On Fri, Jan 24, 2014 at 10:50 AM, Ram Rachum <ram at rachum.com <mailto:
>> ram at rachum.com>> wrote:
>>
>>         lambda (x, y): whatever
>>
>> http://python.org/dev/peps/pep-3113/
>>
>
> Part of the rationale in that PEP is that argument unpacking
> can always be replaced by an explicitly named argument and
> an unpacking assignment. No mention is made of the fact that
> you can't do this in a lambda, giving the impression that
> lambdas are deemed second-class citizens that are not worth
> consideration.
>
> The author was clearly aware of the issue, since a strategy
> is suggested for translation of lambdas by 2to3:
>
>    lambda (x, y): x + y --> lambda x_y: x_y[0] + x_y[1]
>
> That's a bit on the ugly side for human use, though.
> An alternative would be
>
>    lambda xy: (lambda x, y: x + y)(*xy)
>
> Whether that's any better is a matter of opinion.


As the author of the PEP and I can say that `lambda (x, y): x + y` can just
as easily be expressed as `lambda x, y: x + y` and then be called by using
*args in the argument list. Anything that gets much fancier typically calls
for a defined function instead of a lambda.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20140125/fd7e5491/attachment.html>
More information about the Python-Dev mailing list

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