for ループでリストを作る処理を、1行で書ける書き方です。リスト内包表記list comprehension(リスト内包表記)。1行でリストを生成する書き方は「リストの中に計算を詰め込む」というイメージです。
| コード | 読み方 |
|---|---|
[x for x in list] | そのままコピー |
[f(x) for x in list] | 関数を適用 |
[x for x in list if x > 0] | 条件で絞る |
[int(s) for s in str_list] | 型変換 |
リスト内包表記list comprehension(リスト内包表記)。1行でリストを生成する書き方では[ ] の中に書くと結果はリストになる。左側に「各要素をどうするか」、真ん中に for 変数 in 元のリスト、右側に if 条件 をつけると絞り込みができる。読む順序: for → if → 左側の式