Home

> On Behalf Of dmitrey.kroshko@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

previous
next

Re: supplying password to subprocess.call('rsync ...'), os.system('rsync ...')
Re: porting vc++ project to python?
Re: do you know good books/sites about creating custom allocators, streams and iterators?
Re: Finding specific date ranges
Re: 64 bit integers etc...
Niechciane i Zapomniane
Rodzic Po Ludzku
Krwinka
Akogo
Mam Marzenie