[Python-Dev] Shorthand for lambda

Ka-Ping Yee python-dev at zesty.ca
Wed Mar 23 17:33:53 CET 2005


Hey folks,

I'm sitting over here in the AppleScript talk and Jacob is explaining a
module called 'appscript' that interfaces to the Apple Events system.

What caught my eye was this example:

    from appscript import *
    ab = app('Address Book')
    people = ab.people.filter(its.emails != [])

That last line asks the Address Book to select only entries with
e-mail addresses.  The weird 'its' object comes from the appscript
module -- asking for its properties and using operators causes it
to set up thunks for you.

It dawned on me that you could use this idea to make the whole
filter/lambda experience vastly more pleasant.  I whipped up a quick
implementation:

    >>> from placeholder import _
    >>> numbers = [5, 9, 56, 34, 1, 24, 37, 89]
    >>> filter(_ < 30, numbers)
    [5, 9, 1, 24]
    >>> map(_ + 10, numbers)
    [15, 19, 66, 44, 11, 34, 47, 99]
    >>>

Look ma, no lambdas!

I bet someone has already done this before, right?


-- ?!ng


More information about the Python-Dev mailing list