lambda-funcs problem
Ryan Ginstrom
software at ginstrom.com
Wed Sep 19 08:03:04 EDT 2007
> On Behalf Of dmitrey.kroshko at scipy.org
> F = []
> for i in xrange(N):
> F.append(lambda x: x + i)
>
> however, the example don't work - since i in end is N-1 it yields x+
> (N-1) for any func.
How about:
>>> def make_adder(i):
def adder(x):
return x+i
return adder
>>> funcs = [make_adder(i) for i in xrange(10)]
>>> print [func(10) for func in funcs]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>
Regards,
Ryan Ginstrom
More information about the Python-list
mailing list