相关疑难解决方法(0)

在循环中创建函数

我正在尝试在循环内创建函数并将它们存储在字典中.问题是字典中的所有条目似乎最终都映射到最后创建的函数.代码如下:

functions = []

for i in range(3):
    def f():
        return i

    # alternatively: f = lambda: i

    functions.append(f)
Run Code Online (Sandbox Code Playgroud)

这输出:

print([f() for f in functions])
# expected output: [0, 1, 2]
# actual output:   [2, 2, 2]
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

python function

79
推荐指数
2
解决办法
3万
查看次数

什么是Python中的"lambda绑定"?

我理解Python中的lambda函数是什么,但是通过搜索Python文档我找不到"lambda binding"的含义.阅读它的链接会很棒.一个简单的解释例子会更好.谢谢.

python lambda binding

11
推荐指数
2
解决办法
4815
查看次数

标签 统计

python ×2

binding ×1

function ×1

lambda ×1