问题很简单,但在搜索一段时间后我找不到解决方案,所以这就是我的问题:
如何将变量的值传递给lambda函数而不是对它的引用?
举个例子:
my_lambdas = []
for i in range(5):
my_lambdas.append(lambda: print(i))
for l in my_lambdas:
l()
运行上面的代码会产生5个打印的' 4。我猜这是因为lambda在变量i被设置为4之后运行。
我希望打印0到4.我怎样才能实现这个目标?
编辑:我需要一个使用lambdas和迭代的解决方案。