概要

Pythonのリスト内包表記では、簡潔な構文でリストを生成することができます。if/else 条件式をリスト内包表記に含めることで、条件に応じて異なる値をリストに追加することが可能です。本記事では、その使い方について具体的なコード例を交えて説明します。

基本構文

リスト内包表記における if/else の構文は以下の通りです。

[f(x) if x is not None else '' for x in xs]

ここでは、xNone であれば空文字('')、それ以外は f(x) をリストに追加します。

例: 条件に応じたリスト生成

xs = [1, None, 3]
result = [x if x is not None else 0 for x in xs]
print(result)  # [1, 0, 3]

この例では、None の代わりに 0 がリストに追加されています。

if のみを使ったフィルタリング

単に条件を満たす要素だけをリストに追加したい場合は、else を含めず、if だけを使用します。

result = [x for x in xs if x is not None]
print(result)  # [1, 3]

まとめ

Pythonのリスト内包表記における if/else 条件式を使うことで、柔軟にリストの内容を制御できます。特定の条件に基づいて値を操作したり、リスト内の不要な要素をフィルタリングする際に便利です。