您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

这个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
python 2022/1/1 18:26:59 有672人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶