python为什么在具有不同值的循环中定义的lambdas都返回相同的结果?
假设你使用for循环来定义几个不同的 lambda (甚至是普通函数),例如::
>>>
>>> squares = [] >>> for x in range(5): ... squares.append(lambda: x**2)
假设你使用for循环来定义几个不同的 lambda (甚至是普通函数),例如::
>>>
>>> squares = [] >>> for x in range(5): ... squares.append(lambda: x**2)