gpt4 book ai didi

python - 在循环中创建 lambda

转载 作者:IT老高 更新时间:2023-10-28 20:25:53 30 4
gpt4 key购买 nike

我正在尝试在循环中创建 lambda,该循环遍历对象列表:

lambdas_list = []
for obj in obj_list:
lambdas_list.append(lambda : obj.some_var)

现在,如果我遍历 lambda 列表并像这样调用它们:

for f in lambdas_list:
print(f())

我得到相同的值。这是 obj_list 中最后一个 obj 的值,因为它是列表迭代器 block 中的最后一个变量。对代码进行良好(pythonic)重写以使其工作的任何想法?

最佳答案

改用这一行:

lambdas_list.append(lambda obj=obj: obj.some_var)

关于python - 在循环中创建 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7546285/

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