Joshua Ginsberg wrote: > So this part makes total sense to me: > > >>> d = {} > >>> for x in [1,2,3]: > ... d[x] = lambda y: y*x > ... > >>> d[1](3) > 9 > > Because x in the lambda definition isn't evaluated until the lambda is > executed, at which point x is 3. > > Is there a way to specifically hard code into that lambda definition the > contemporary value of an external variable? In other words, is there a > way to rewrite the line "d[x] = lambda y: y*x" so that it is always the > case that d[1](3) = 3?
from earlier today: http://article.gmane.org/gmane.comp.python.general/424262 </F> -- http://mail.python.org/mailman/listinfo/python-list