[Python]リスト内包表記を使う
Pythonのリスト内包表記について紹介します。
辞書内包表記や集合内包表記は別の機会に。
内包表記とは?
リストや辞書などのイテレータのループ処理をシンプルに記述できる記法のことです。
シンプルに記述できるということは、別のシンプルではない書き方でも実現できるということですが、Pythonで脱初心者を目指すのであれば抑えておきたい知識です。
リスト内包表記を書いてみる
[1,2,3]という値があるものを倍にするというコードをfor文を使って書いてみます。
number_list = [] for number in range(1, 4): number_list.append(number * 2) print(number_list) =>[2,4,6]
これをリスト内包表記で書いてみます。
number_list = [number * 2 for number in range(1, 4)] print(number_list) => [2,4,6]
一行でスッキリ書くことができました。
[iの処理 for i in イテレータ]
これがリスト内包表記の基本的な形になります。イテレータの後に条件式を追加することもできます。
[iの処理 for i in イテレータ if 条件式]
奇数だけのリストを作るリスト内包表記を書いてみると、
number_list = [number for number in range(1, 4) if number % 2 == 1] print(number_list) => [1, 3]
1~99までの配列ですが10以下の数字のみで組み立てます。
number_list = [number for number in range(1, 100) if number < 10] print(number_list) => [1,2,3,4,5,6,7,8,9]