リスト内包表記は簡潔にリストを作成できます。その際に、ifやelseを用いて、ロジックを入れたい場合があります。 これは大別すると以下の二つのケースに分けることができます。 ifのみの場合 elseも用いる場合 少々難しいことに、この二つは記載の方法が異なります ifのみを使用したい場合 この場合、forの後ろにifを追加します。 dat = [i for i in range(10) if i%2 == 0] print(dat) # [0,2,4,5,6,8] リスト内包表記 + if の使い道として、forの対象にした、別のリストに対し、ifでフィルターをかけたり、一部の値の置き換えや、加工処理をかけるのが、一般的です。 この時、リスト内包表記はワンライナーでシンプルにかけることがメリットになります。 なお、上記は以下のforで書き直した形と同じになります。 dat = [] for