タグ

ブックマーク / jutememo.blogspot.com (2)

  • Python の map, filter, reduce とリスト内包表記

    1. リストを操作する関数で重要なのはどれ? リスト内包表記は慣れたら使いやすい Python のリスト内包表記に出会って 4 ヶ月が経った。 「Python のリスト内包表記」を読みなおしてみると、 … 同じく数値のリストから、特定の条件に合う要素を抽出する。 print [x for x in [1,2,3,4,5] if x > 3] これまた読みにくい。 (@_@;) と書いていたけれど、今では「シンプルで読みやすく、また書きやすい」と思える。慣れとは恐ろしい。 ^^; (リスト内包表記がネストしてたりすると、すぐに理解出来ないけれど。) Ruby の Enumerable モジュールにはたくさんのメソッドが定義されている Java しか知らなかった頃、Ruby の 配列に定義されているメソッドを見て、「便利なメソッドがたくさんあるなぁ」と思った。Ruby の配列は、Enumera

    okhra
    okhra 2009/09/04
  • Python で map 関数の第 2 引数を操作の対象ではなく手段として使う

    操作対象としてのリスト map 関数は、2.1 組み込み関数 によると、 map(function, list, ...) function を list の全ての要素に適用し、返された値からなるリストを返します。 操作対象のリストがあり、それを操作する関数を定義するというイメージ。 例えば、リストの各要素を 2 倍したいなら、 print map(lambda x: x*2, [1,2,3,4,5]) map 関数の第 2 引数のリストに対して、第 1 引数の関数を適用する。 リスト内包表記を使うなら、(cf. Python のリスト内包表記) print [x*2 for x in [1,2,3,4,5]] 対象のリストがあって、そこから一つずつ取り出して関数を適用する。 リストは「料理される側」であって、関数はそれに対する「包丁」というイメージが自分の頭に固定された。 (+_+) 手

    Python で map 関数の第 2 引数を操作の対象ではなく手段として使う
    okhra
    okhra 2008/11/08
  • 1