
python中的lambda是闭包…。在计算lambda之前,不会对您提供的参数进行求值。那时,i = 9,因为您的迭代已完成。
您正在寻找的行为可以通过functools.partial实现
import functoolsdef f(a,b): return a*bfuncs = []for i in range(0,10): funcs.append(functools.partial(f,i))
欢迎分享,转载请注明来源:内存溢出

python中的lambda是闭包…。在计算lambda之前,不会对您提供的参数进行求值。那时,i = 9,因为您的迭代已完成。
您正在寻找的行为可以通过functools.partial实现
import functoolsdef f(a,b): return a*bfuncs = []for i in range(0,10): funcs.append(functools.partial(f,i))
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)