リスト内包表記 (List Comprehension)
「Pythonらしい、美しくて短いコード」の代表格といえば、このリスト内包表記(ないほうひょうき)です。
名前はいかにも難しそうですが、要するに「空のリストを作って、for文で回して、appendしていく」という定番の3行を、たった1行に圧縮する魔法です。
1. さようなら append()
例えば、「1から5までの数字を、すべて2倍にして新しいリストを作りたい」とします。
今までならこう書いていましたね。
old_loop.py
Loading...
これを、リスト内包表記を使って 「1行」 で書くと、こうなります。
[ (入れたい形) for 変数 in リスト ]
comprehension.py
Loading...
2. さらに if を足して絞り込む
リスト内包表記の右端には、さらに if をくっつけることができます。
例えば、「リストの中から 偶数だけ を取り出して、新しいリストを作りたい」という時も、やっぱり1行でいけます。
comprehension_if.py
Loading...
この書き方をマスターすれば、あなたはもう立派な中級Pythonプログラマー(Pythonista)です!
🎯 練習問題:大文字化ツール
文字列のメソッド .upper() を使うと、アルファベットを大文字にできます(例:"apple".upper() → "APPLE")。
フルーツのリスト fruits の中で、文字の中に "a" が含まれているフルーツだけを見つけ出し、さらにそれを大文字にして新しいリスト upper_a_fruits を作ってください。
(※ リスト内包表記を使って 1行 で書いてみましょう!)
comprehension_practice.py
Loading...