On Mon, Nov 30, 2009 at 10:54 AM, Benjamin Kaplan
<benjamin.kap...@case.edu> wrote:
>
> I don't know if anyone considers python's incomplete implementation of
> closures a "feature" but it's documented so it's not really a bug
> either. I believe there is a trick with default arguments to get this
> to work, but I don't use lambdas enough to remember it.
> --
> http://mail.python.org/mailman/listinfo/python-list
>

Well default arguments isn't the only way - and *sometimes* it's not
workable.  Another way to make closures in Python is to define the
function a within function b which returns function a and in your loop
call function b.

i guess if you wanted to do that purely with lambas (outside of using
default arguments like i=i) you'd have to do something like

a = []
for x in xrange(10):
  a.append((lambda x: lambda: x)(x))

never tried that though..
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to