2
循环创建函数
我正在尝试在循环内创建函数: functions = [] for i in range(3): def f(): return i # alternatively: f = lambda: i functions.append(f) 问题在于所有功能最终都相同。这三个函数都没有返回0、1和2,而是返回2: print([f() for f in functions]) # expected output: [0, 1, 2] # actual output: [2, 2, 2] 为什么会发生这种情况,我应该怎么做才能获得分别输出0、1和2的3个不同函数?