函数返回函数

2024-03-28 19:27:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到的以下代码片段输出为6,6,6,6

def multipliers():
    return [lambda x : i * x for i in range(4)]

print([m(2) for m in multipliers()])

我不明白为什么输出是6,6,6,6而不是0,2,4,6?你知道吗

有谁能帮我理解上面代码的内部结构吗?因为我对Python非常陌生。 谢谢。你知道吗


Tags: lambda代码inforreturndefrangeprint