Python 学習:リスト内包表記

2014-06-05 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
3、3、3、0、0、 0、0、0、0、0(40)で、換算ポイント 72pt 。
「C言語」「グルコサミン」「Firefox」のbg値がダウン。
「化学業界」bg値、あと一歩で、・・・
・-・ - -・

さて、本文。

“リスト内包表記”なる用語を目にした。
一寸調べてみた。

「すぐに忘れる脳みそのためのメモ」の、2008年5月31日土曜日 記事:
Python のリスト内包表記 - Ruby や Haskell の書き方と比べながら
  0. Python の気になる機能
  Python チュートリアル の目次をざっと眺め、目にとまったのは次の二つの機能。
    ・ 5.1.4 リストの内包表記
    ・ 9.9 ジェネレータ (generator)
  両方とも耳馴れない言葉。 (@_@) まずは、リストの内包表記から調べることに。
  1. リスト内包表記の基本
  a. リストの各要素に関数を適用する
  最初は、リスト内包表記の使い方を確認する。・・・・・
  ・・・・・
  ・・・・・
  追記(2008.8.19):「情報の論理数学入門」(p14) によると、
   「二つの集合 A, B の直積集合 (Cartesian product set) A × B は
    第 1 成分が集合 A の元で、第 2 成分が集合 B の元となる
    順序対のすべての集合である。
    A, B がともに有限集合のとき、直積集合の元の数は A と B お
    それぞれの元の数の積である。
    ・・・・・・・・・・ 」
  上記のリスト内包表記は、「直積」と考えればよい。
  数学の表記に似せてあることがわ
  ・・・・・

「Kura IT Lab」の「開発言語 > Python入門」の、
08. Pythonのリスト内包表記
  既存のリストを加工して新しいリストをつくる場合に便利です。
  また、ループの代用として用いることもできます。
  ただし、多用しすぎると他の人が見づらくなったり、・・・・・
  1 リスト内包記法の利用方法
  ・・・・・

「Python Snippets」の 2012年9月14日 記事:
リスト内包表記
  リストを生成するための表記方法。
  リストに対して繰り返し処理を行う場合にも使用出来る。
  従来のmap, filterの代わりになる。
  だいたいの場合for文でループするよりも高速に動作する。
  ・・・・・


それから、性能面:
「Qiita」の 2014/02/11 記事:
Pythonのリスト内包表記
  リスト内包表記は速いのか
  Python 2.6.6にて、10,000,000個の整数をappendするのに、
  以下の1,2,3の方法の実行時間を比較しました。
  追記にも書きましたが、
  ここで述べた内容はPython2.7系, 3.3系にも適用できます。
  1.testfunc1: 空リストを用意してappend
  2.testfunc2: 1 + appendをオブジェクト化
  3.testfunc3: リスト内包表記
  ・・・・・
  ・・・・・
  結果
  1. 1.73 s
  2. 1.08 s
  3. 697 ms


そして、“else”の使い方:
「soyogu」の 2013年8月8日木曜日 記事:
Python 内包表記 if else
  Pythonのリスト内包表記でifの使い方を書いているサイトは多いが、
  if elseはあまり書かれていない。
  「できないかも」と考えている人もいるかもしれない。
  しかし、できる。
  工夫ではなくて、普通の書き方として用意されている。
  ・・・・・


纏めると、

(数値のリスト:hoge を元に)新しいリストを作る方法。

「各要素を 2 倍したもの」---> [ x*2 for x in hoge ]
「0で無いものを抜き出す」---> [ x for x in hoge if x != 0 ]
「0を'zero'に置き換える」---> [ x if x != 0 else 'zero' for x in hoge ]


この“リスト内包表記”は、
単純に for 文 を使うより断然速い!

“数学”で「集合」を定義する時の表記に似ている。
  集合 ={ 要素 | 要素となる条件 }
の様に書きますね。


序でに、“map”との比較:
map( float, hoge ) ---> [ float(x) for x in hoge ]


本日はここまで。

Python 学習は続く、・・・



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


140525
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク