読者です 読者をやめる 読者になる 読者になる

サイエンティストとマーケターのはざま

Pythonとか広告とかデータ分析とかとか


Pythonチュートリアル②-リスト内包

Python

前回の続きです。

 

今回はリスト内包について。

Pythonチュートリアル 第2版

Pythonチュートリアル 第2版

  • 作者: Guido van Rossum,鴨澤眞夫
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2010/02/22
  • メディア: 単行本(ソフトカバー)
  • 購入: 4人 クリック: 136回
  • この商品を含むブログ (23件) を見る
 

 上記はこちらのページを書籍化したものです。

 

リスト内包は、式とそれに続くforやif節からなり、大括弧で囲んだもので、結果は式をforやif節の文脈で評価して得られるリストです。

 

具体的にみてみましょう。

数値のリストを取って、各数を3倍したリストを返します。

>>>vec=[2,4,6]

>>>[3*x for x in vec]

[6, 12, 18]

 

if節を使えば仕分けも可能。

>>>[3*x for x in vec if x>3]

[12, 18]

 

forループを入れ子に。

>>>vec1=[2,4,6]
>>>vec2=[4,3,-9]

>>>[x*y for x in vec1 for y in vec2]

[8, 6, -18, 16, 12, -36, 24, 18, -54]

 

もう少し複雑な例で。

>>>[str(round(355.0/113.0, i)) for i in range(1,6)]

['3.1', '3.14', '3.142', '3.1416', '3.14159']