On Wed, 23 Mar 2005 10:33:53 -0600 (CST), Ka-Ping Yee <[EMAIL PROTECTED]> wrote: > Hey folks, > > >>> 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? >
I tried it once before: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/perky/anonfunc-1.0.tar.gz >>> from anonfunc import * >>> f = (arg0 * arg1 + 3 * arg2) ** 2 >>> f(5, 6, 7) 2601 >>> f = kw1 and kw2 >>> f(kw1=False, kw2=True) True >>> f(kw2=False, kw1=True) False But there were some serious drawbacks to use it instead of lambda. * (a,b,c) is impossible * unable to use it with list comprehensions and generator expressions * can't call functions and use its return value * and many builtin functions as you described (such as len(), sorted()) Hye-Shik _______________________________________________ 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