Python リストの内包表記について

Python リストの内包表記について

内包表記を覚えるとfor in 文を使った処理を簡単に書き換えることができます。

リストの内包表記
[expression for item in iterable]

例えば、空のリストに1から5までの整数のリストを作成するとします。
for in文を使うと次のようになります。

number_list = []
for number in range(1,6):
  number_list.append(number)

結果
[1, 2, 3, 4, 5]

これを内包表記で記述すると次のようになります。

number_list = [number for number in range(1,6)]

結果
[1, 2, 3, 4, 5]

a_set = [number for number in range(1,6) if number % 3 == 1]

結果
[1, 4]

内包表記は辞書でも使うことができます。

dct = {i: i*2 for i in range(3)}

結果
{0: 0, 1: 2, 2: 4}

参考例
リストの含む要素の型がfloat型だとします。これを全てint型に変えるには次のようにします。

num = [2.8, 1.4, 3.5, 4.1, 5.9]
num_int = list(map(int, num))

内包表記を使うとmap()を使う必要がありません。

num_int = [int(num_int) for num_int in num]

表示結果
[2, 1, 3, 4, 5]