For filter and map, list comprehensions and generator expressions are the answer.
>>> numbers = [5, 9, 56, 34, 1, 24, 37, 89] >>> [x for x in numbers if x < 30] [5, 9, 1, 24] >>> (x for x in numbers if x < 30) <generator object at 0x00B1FCD8> >>> list(_) [5, 9, 1, 24] Jeremy On Wed, 23 Mar 2005 10:33:53 -0600 (CST), Ka-Ping Yee <[EMAIL PROTECTED]> wrote: > 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 > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/jeremy%40alum.mit.edu > _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com