Pythonのリスト内包表記では、if
とelse
を使って条件分岐を行うことができます。しかし、elif
を使いたい場合はどうすればよいでしょうか?
以下に、リスト内包表記でelif
を使う一例を示します。
l = [1, 2, 3, 4, 5]
res = ['yes' if v == 1 else 'no' if v == 2 else 'idle' for v in l]
このコードでは、リストl
の各要素v
に対して、v
が1ならば’yes’、2ならば’no’、それ以外ならば’idle’を返すリストres
を作成しています。
このように、リスト内包表記でelif
を使うには、else
の後に再度if
を書くことで実現できます。これを三項演算子と呼びます。
ただし、この方法は条件が多くなるとコードが複雑になり、読みにくくなる可能性があります。そのため、条件が3つ以上になる場合は、辞書や別の関数を使ってコードをリファクタリングすることをお勧めします。
以上が、Pythonのリスト内包表記でelif
を使う方法になります。Pythonを使ったプログラミングに役立つ情報であれば幸いです。