Pythonのリスト内包表記でif-else構文を使うときのメモ。ifのみとの記述場所の違いに注意。
a = [1, 2, 3, 4] [x for x in a if x < 2] # [3, 4] [x if x % 2 == 0 else 0 for x in a] # [0, 2, 0, 4] [x if x % 2 == 0 else 0 for x in a if 2 < x] # [0, 4] # 以下はいずれも SyntaxError [x if x < 2 for x in a] [x for x in a if x % 2 == 0 else 0]
関連URL