这个问题是从涉及Tkinter按钮的回调函数的原始应用程序中提炼出来的.这是说明行为的一行.
lambdas = [lambda: i for i in range(3)]
如果你然后尝试调用生成的lambda函数:
lambdas[0](),lambdas[1]()并且lambdas[2]()都返回2.
期望的行为是lambdas[0]()返回0,lambdas[1]()返回1,lambdas[2])()返回2.
我看到索引变量是通过引用解释的.问题是如何改写以使其按价值处理.