lambda式
lambda式を使うと、引数を基に簡単な処理を行う関数のように働く処理を
シンプルに書けるみたい。
例えば三つの数をかけた値を返す関数を普通に定義して使うと、
>>> def hoge(x, y, z): ... return x*y*z ... >>> hoge(2, 4, 3) 24
これをlambda式で書いて使うと、
>>> hoge = lambda x, y, z : x*y*z >>> hoge(2, 4, 3) 24
のようになるわけか。
lambdaの後に引数のリストを付けてコロンで区切って引数を使った式を書けば良いらしい。
lambda式を使えば関数名を付けずに関数を定義できてしまうわけか。
だから文字列を含むリストを文字列の短い順にソートする場合もソートメソッドに指定する要素の比較を
行う関数もいきなりメソッドの引数に書くことができてしまうみたい。
>>> l = ["123", "12345", "12"] >>> l.sort(lambda a, b : cmp(a, b)) >>> l ['12', '123', '12345']
確かに便利。