13
Python中Lambda表达式内的赋值
我有一个对象列表,我想使用filter和lambda表达式删除除一个以外的所有空对象。 例如,如果输入是: [Object(name=""), Object(name="fake_name"), Object(name="")] ...那么输出应为: [Object(name=""), Object(name="fake_name")] 有没有一种方法可以向lambda表达式添加赋值?例如: flag = True input = [Object(name=""), Object(name="fake_name"), Object(name="")] output = filter( (lambda o: [flag or bool(o.name), flag = flag and bool(o.name)][0]), input )