Pythonの内包表記って何?
ナカイ君: Pythonの内包表記についてわかりやすく教えてほしいんだけど。
世界のアオキ: OK、内包表記(List Comprehension)とは、リストや辞書、セットなどのコレクションを簡潔に生成するための構文だよ。ループや条件式を使って、新しいコレクションを一行で作ることができるんだ。
ナカイ君: もっと具体的に教えてくれない?
世界のアオキ: そうだね。たとえば、0から9までの数値のリストを作りたい時、通常はfor
ループを使うけど、内包表記を使うともっと簡単に書けるんだ。
わかりやすいコード例
ナカイ君: わかりやすいコードがあれば教えてほしいな。
世界のアオキ: もちろんだよ。例えば、次のように書けるよ。
numbers = [i for i in range(10)]
print(numbers) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
このコードでは、
for i in range(10)
を使って0から9までの数値を生成し、それをリストにしているんだ。
具体的にどうやって使うの?
ナカイ君: 具体的にはどうやって使うの?
世界のアオキ: 内包表記は、条件を加えることもできるんだ。例えば、偶数だけのリストを作りたい場合はこんな感じで書けるよ。
even_numbers = [i for i in range(10) if i % 2 == 0]
print(even_numbers) # [0, 2, 4, 6, 8]
このコードでは、if i % 2 == 0
を使って、偶数だけをリストに追加しているんだ。
ナカイ君: 他のパターンがあれば教えてほしいな。
世界のアオキ: 了解だよ。辞書の内包表記も便利だよ。キーと値のペアを生成することができる。
squares = {i: i**2 for i in range(5)}
print(squares) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
このコードでは、0から4までの数値に対して、その数値の二乗を値とする辞書を生成しているよ。
ナカイ君: そうやって使えばいいんだね。
世界のアオキ: そういうわけで、内包表記を使えば、Pythonでのリストや辞書、セットの生成がずっと簡単に、かつ読みやすくなるんだ。ただし、複雑になりすぎないように気をつけてね。
ナカイ君: わかった、ありがとう!
まとめ
Pythonの内包表記は、コードを簡潔にし、読みやすくする強力なツールです。リスト、辞書、セットの生成を一行で行え、条件を加えることも可能です。ナカイ君のように基本からしっかり学んで、日々のコーディングに活かしてみましょう!
この記事へのコメントはありません。