什么是Python机制使它如此
[lambda: x for x in range(5)][2]()
Run Code Online (Sandbox Code Playgroud)
是4?
将x的副本绑定到每个lamba表达式的常用技巧是什么,以便上面的表达式等于2?
我的最终解决方案
for template, model in zip(model_templates, model_classes):
def create_known_parameters(known_parms):
return lambda self: [getattr(self, p.name)
for p in known_parms]
model.known_parameters = create_known_parameters(template.known_parms)
Run Code Online (Sandbox Code Playgroud)