坑: 最近看了一篇blog,在里面看到一段挺有意思的代码。 自认为基础学的很扎实的我,第一反应就认为输出结果肯定是错的 代码如下: def num(): return [lambda x:i*x for i in range(4)] print([m(1) for m in num()]) 输出结果:[3, 3, 3, 3] 代码很简单,就是生成4个匿名lambda函数,然后用循环一个个取出来调用,并给x赋值1 看到这个代码第一反应是这样的 [lambda x: 0, lambda x: x,