pythonでは、内包表記といった、
特定の条件を満たしたリストを簡単に生成する記述方法があります。
内包表記のサンプル
内包表記を使わないパターン
例えば、以下のサンプルソースは、0から9までのリストを生成するサンプルです。
for文を使ってwork変数にappendします。
![](https://i0.wp.com/neko-py.com/wp-content/uploads/2022/09/python_comprehension_if_1_image.jpg?resize=331%2C165&ssl=1)
内包表記を使ったパターン
以下が内包表記を使って初期化したリストになります。
リストのカッコの中でfor x in rangeを使って初期化します。
![](https://i0.wp.com/neko-py.com/wp-content/uploads/2022/09/python_comprehension_if_2_image.jpg?resize=299%2C130&ssl=1)
内包表記でifを使うサンプル
例えば、0から9の数字のなかで3で割り切れる値だけをリストにしたい場合は、
以下のように内包表記のrangeの後に、if条件を追加します。
![](https://i0.wp.com/neko-py.com/wp-content/uploads/2022/09/python_comprehension_if_3_image.jpg?resize=416%2C123&ssl=1)
内包表記でif elseを使うサンプル
0から9の数字のなかで3で割り切れる場合はそのままの値をそれ以外は0のリストを生成する処理は以下のようになります。
![](https://i0.wp.com/neko-py.com/wp-content/uploads/2022/09/python_comprehension_if_4_image.jpg?resize=431%2C113&ssl=1)
補足
上の内包表記のサンプルソースは、普通のif else文で記述すると以下のようになります。
5行記述しなくてはいけないところを1行で記述できてしまうので、リストの内包表記はかなり便利です。
スポンサーリンク
![](https://i0.wp.com/neko-py.com/wp-content/uploads/2022/09/python_comprehension_if_5_image.jpg?resize=393%2C205&ssl=1)