- 209 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:32:17 ]
- >>208
それは >>206 とはちょっと違う話で、少しでも複雑な関数を作るときは ちゃんと名前を付けましょうねという意味で、lambda が単文しか実行 できなくなってる。 map + lambda が推奨されないのは、 1) 単純に map(lambda x: と書くタイプ数 が for x に削減される 2) map はリストが不要なときも一時リストを生成してしまう。 (>>206ではリストが必要だったけど、必要ないときはジェネレータ内包が使える) 3) map 内で繰り返し関数呼び出しが発生する。内包だと式の評価なので lambda より速い 4) Lisp脳ではない人間にとっては、 map(lambda x: を読むときに頭の中で分解再構築が必要になる。 内包表記の方がやりたいことをすっきりと書き下せる。
|

|