questions about functions inside a function

fdu.xiaojf at gmail.com fdu.xiaojf at gmail.com
Mon Jul 16 07:49:15 EDT 2007


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?

Thanks a lot!





More information about the Python-list mailing list