#はじめに
lambda式でも再帰を使いたいことありますよね(主にネタコードで)。
Python3.8以降ならスッキリかけます。
フィボナッチ数列のx番目を求める関数で比較してみましょう。
#方法
〜Python3.7
print((lambda x: (lambda f, x: f(f, x))(lambda f, x: f(f, x-1)+f(f, x-2) if x > 2 else 1, x))(10))
# >> 55
Python3.8〜
print((self:=lambda x:self(x-1) + self(x-2) if x > 2 else 1)(10))
# >> 55
す ご く す っ き り