13
Pythonのラムダ式内の代入
オブジェクトのリストがあり、1つを除いて空のすべてのオブジェクトを削除したい 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 )