gpt4 book ai didi

python - 如何返回使用变量值的函数?

转载 作者:太空狗 更新时间:2023-10-29 17:30:37 26 4
gpt4 key购买 nike

<分区>

我想写一个返回函数列表的函数。作为 MWE,这是我对函数的尝试,它给出了三个将 0、1 和 2 添加到输入数字的函数:

def foo():
result = []
for i in range(3):
temp = lambda x: x + i
print(temp(42)) # prints 42, 43, 44
result.append(temp)
return result

for f in foo():
print(f(42)) #prints 44, 44, 44

与我的预期相反,每个函数最终都使用 i 获取的最后一个值。例如,我遇到过类似的行为。列表用作函数的参数,但 Python 实际上使用指向列表的指针,但这里 i 是一个整数,所以我不明白这里发生了什么。我正在运行 Python 3.5。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com