Es gibt Zeiten, in denen Sie in eine Zeile schreiben möchten, aber Variablen mithilfe der Listeneinschlussmethode definieren möchten, oder? Ja, ich würde mich freuen, wenn ich es so schreiben könnte.
homu.let(lambda mami: (mami[0], mami[1] if len(mami) > 1 else None))
Es ist eine Geschichte, sie in zwei Hälften zu verwirklichen.
Referenz: Implementieren einer LINQ-ähnlichen Listenverarbeitungsbibliothek in Python --TIM Labs
Es scheint, dass Sie so etwas wie eine Erweiterungsmethode ausführen können, indem Sie den Operator überladen. Sie können auch mit der gleichen Methode lassen!
class let:
def __init__(self, action):
self.action = action
def __ror__(self, source):
return self.action(source)
Dann
homu | let(lambda mami: (mami[0], mami[1] if len(mami) > 1 else None))
Ich kann schreiben! Nett!
Recommended Posts