lambda式
Pythonにはlambda(ラムダ)式という面白そうなものがあったので、使い方を調べてみました。
初めてのPythonより引用。
lambda式を実行すると関数を作成し、関数が式の戻り値となる。
defだと関数名に関数が入れられますが、lambdaを使うと変数に関数を入れることができます。
例えば、
sqrt = lambda x: x ** 2 print sqrt(5)
とすると、25が表示されます。
ローカル関数みたいなイメージです。
defがグローバル関数みたいな。
いやはや、簡易的に関数をさくっとつくれて、なかなか楽しいですね。
ところで、
なんとリストに入れることも可能です。
L = [(lambda x: x ** 2), (lambda x: x **3)] for f in L: print f(2)
4
8
と出力します。
さらになんと!
ディクショナリに入れてしまえます。
D = {'sqrt2':(lambda x: x ** 2), 'sqrt3':(lambda x: x **3)} print D['sqrt2'](2) print D['sqrt3'](3)
4
27
と出ます。
アクションテーブルができてしまいますね。
素晴らしや…。