前回の続きです。
今回はリスト内包について。

- 作者: 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'
>>>こちらもあわせてどうぞ