在循环内创建lambda
我试图在循环中创建lambdas迭代一个对象列表:
lambdas_list = []for obj in obj_list: lambdas_list.append(lambda : obj.some_var)
现在,如果我遍历lambdas列表并像这样调用它们:
for f in lambdas_list: print f()
我得到了相同的价值。这是最后的价值obj
在obj_list
,因为那是在列表迭代器的块中的最后一个变量。任何想法都能很好地(pythonic)重写代码以使其工作?
人到中年有点甜
MM们
森栏
相关分类