リスト内包表記と条件式
- 内包表記条件式は色々できる
リスト内包表記というのは便利で、for文と組み合わせて次のようなリストが作れます。
>>> a = [2*x for x in range(5)] >>> a [0, 2, 4, 6, 8]
条件式を加えても同様の機能が得られます。
>>> a = [x for x in range(5) if x%2 == 0] >>> a [0, 2, 4]
次のように書くとエラーになりますが、
>>> a = [x if x%2 == 0 for x in range(5)] SyntaxError: invalid syntax
でも、elseで落としどころを用意してあげると、
>>> a = [x if x%2 == 0 else 'N' for x in range(5)] >>> a [0, 'N', 2, 'N', 4]
通る。ふーん。けどこうなると、'N'抜くのがめんどいなぁ