リスト内包表記の if else [重複] 質問する

リスト内包表記の if else [重複] 質問する

リストがありますl:

l = [22, 13, 45, 50, 98, 69, 43, 44, 1]

45 以上の数字には 1 を加算し、45 未満の数字には 5 を加算します。

私は試した

[x+1 for x in l if x >= 45 else x+5]

しかし、構文エラーが発生します。リストの理解でこのようなものifを実現するにはどうすればよいでしょうか?else

ベストアンサー1

>>> l = [22, 13, 45, 50, 98, 69, 43, 44, 1]
>>> [x+1 if x >= 45 else x+5 for x in l]
[27, 18, 46, 51, 99, 70, 48, 49, 6]

ならば何かを実行し<condition>、そうでなければ何か他のことを実行します。

おすすめ記事