Closures/Value capture: Difference between revisions

Content added Content deleted
Line 622:
In this case it is also possible to use <code>map()</code> since the function passed to it creates a new scope
<lang python>funcs = map(lambda i: lambda: i * i, range(10))
print funcs[3]() # prints 9</lang>
 
It is also possible to use <code>eval</code> and eliminate the double function
<lang python>funcs=[eval("lambda:%s"%i**2)for i in range(10)]
print funcs[3]() # prints 9</lang>