这个python函数中的lambda表达式是怎么回事?

这个python函数中的lambda表达式是怎么回事?,第1张

这个python函数中的lambda表达式是怎么回事?

在Python中,在循环和分支中创建的变量没有作用域。您创建的所有函数

lambda
都引用了相同的
i
变量,该变量
9
在循环的最后一次迭代中设置为。

解决方案是创建一个返回函数的函数,从而确定迭代器变量的范围。这就是该

functools.partial()
方法行之有效的原因。例如:

def test():    def makefunc(i):        return lambda x: p(i, x)    a = []    for i in range(10):        a.append(makefunc(i))    return a


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/4957890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存