[Python]リスト内包表記を使う

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]

 



カテゴリー