Pythonでの三項演算子

三項演算子を使うことで代入の条件分岐を一行でスマートに記述することができます。

用法

(変数) = (条件がTrueのときの値) if (条件) else (条件がFalseのときの値)

例えば次のような条件によってxの値を分けたいとき

if n == 10:
    x = "OK"
else :
    x = "NG"

これを三項演算子を用いて一行で表現すると次のようになります。

x = "OK" if n == 10 else "NG"

この時に注意することは通常の条件分岐と違ってどちらの値も評価されることです。

また、False0True1になることを利用してこんな書き方もできます。

x = ("NG", "OK")[n == 10]