[EMAIL PROTECTED] a écrit :
> I want to create a list of function.
> 
> Here is my code:
> In [9]: a = []
> 
> In [10]: for i in range(4):
>    ....:     b = lambda : i**2
>    ....:     a.append(b)
>    ....:
>    ....:
> 
> In [11]: for f in a:
>    ....:     f()
>    ....:
>    ....:
> 9
> 9
> 9
> 9
> 
> What I want is, the value of i should be bounded to the anonymous 
> function. And the output should like this:
> 
> for f in a:
>     print f()
> 0
> 1
> 4
> 9
> 
> How to achieve this?
> 
 >>> a = [lambda i=i:i**2 for i in range(4)]
 >>> for f in a:
...     print f()
...
0
1
4
9
 >>>

HTH
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to