⚠️ 記事内に広告を含みます。

内包表記の意味と使い方

リストなどのイテラブルオブジェクトの作成には内包表記を使うとシンプルに書けます。

リスト内包表記でリストを作成

リスト内包表記は、for文を使ってリストを作るときに使えて、より簡潔に書ける記法です。

[]の中にfor文を書く感じで作成します。

forを使ってリストを作成する方法と内包表記とを比較してみましょう。

pythonでリスト操作pythonでリストを操作する

forを使ってリストを作成

まずはfor文を使ってリストを作成する方法

for_list = []   #空のリストを作る
for i in range(1, 10):
    for_list.append(i)   #for_listにiを追加する
    
#作成したリストを表示
print(for_list)   #[1, 2, 3, 4, 5, 6, 7, 8, 9]

リスト内包表記でリストを作成

リスト内包表記では、

list = [式 for 変数 in リスト]

という形式で書きます。

list_comprehension = [i for i in range(1, 10)]
print(list_comprehension) #[1, 2, 3, 4, 5, 6, 7, 8, 9]

式の部分に処理を書くとリストの内容を演算できます

#list_comprehension の式で、i * 2 でiを二倍にしてリスト作成している
list_comprehension2 = [i *2 for i in range(1, 10)]
print(list_comprehension2) #[2, 4, 6, 8, 10, 12, 14, 16, 18]

if文を使って繋ぐこともできます。

# list_comprehension3の式ではifでiが偶数の時だけリストに追加するようにしている

list_comprehension3 = [i *2 for i in range(1, 10) if i % 2 == 0]
print(list_comprehension3) #[4, 8, 12, 16]

内包表記はリスト以外も使える

上記の方法で作成したものはリスト型ですが、ジェネレータや他の型も作成することが可能です。

##内包表記でを作成するジェネレータを作成。()で囲む
generator_list = (i *2 for i in range(1, 10))
print(type(generator_list))  #generator型

---出力結果---
<class 'generator'>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です