Pythonの三項演算子

Python の三項演算子を使用すると、条件チェックを実行し、値を割り当てたり、単一行で演算を実行したりできます。条件を評価し、条件が True の場合は 1 つの値を返し、False の場合は別の値を返すため、条件式とも呼ばれます。

三項演算子の基本的な例

Python 三項演算子を使用する最も簡単な方法は、単純な次のような場合です。 if else 条件 - 2 つの条件のいずれかが True で、もう一方が False です。

数値が偶数か奇数かを判断する簡単な例から始めましょう。

Python
   n   =   5   res   =   'Even'   if   n   %   2   ==   0   else   'Odd'   print  (  res  )   

出力
Odd  

三項演算子はさまざまな方法で使用できます。 Python で三項演算子を使用するためのいくつかの異なる例を見てみましょう。

目次

ネストされた If else の三項演算子

三項演算子は次の場合にも使用できます。 Python のネストされた if-else ステートメント 。三項演算子をネストして、1 行で複数の条件を評価できます。

構文: value_if_true if 条件 else value_if_false

例:

Python
   n   =   -  5   res   =   'Positive'   if   n   >   0   else   'Negative'   if   n    <   0   else   'Zero'   print  (  res  )   

出力
Negative  

説明:

  • まず、num > 0 かどうかをチェックします。True の場合は、「Positive」を返します。
  • False の場合は、num かどうかを確認します。 < 0. If True it returns 'Negative'.
  • 両方の条件が満たされない場合、デフォルトは「ゼロ」になります。

タプルを使用した三項演算子

三項演算子は次のように記述することもできます。 Python タプル 。タプルのインデックス付け方法は、三項演算子の代替手段です。

構文: (条件_is_false 条件_is_true)[条件]

例:

Python
   n   =   7   res   =   (  'Odd'     'Even'  )[  n   %   2   ==   0  ]   print  (  res  )   

出力
Odd  

説明:

  • 条件 num % 2 == 0 は False (インデックス 0) と評価されるため、「Odd」が選択されます。

辞書を使用した三項演算子

辞書 条件を値にマッピングするために使用でき、より複雑な条件で三項演算子を使用する方法を提供します。

構文: condition_dict = {True: value_if_true False: value_if_false}

例:

Python
   a   =   10   b   =   20   max   =   {  True  :   a     False  :   b  }[  a   >   b  ]   print  (  max  )   

出力
20  

説明: これは、条件 a > b に基づいてキーが True または False である辞書を使用します。次に、対応する値 (a または b) が選択されます。

Python Lambdaを使用した三項演算子

ラムダ インライン条件付きロジックの三項演算子と組み合わせて使用​​できます。

構文: ラムダ x: 条件の場合は value_if_true、それ以外の場合は value_if_false

例:

Python
   a   =   10   b   =   20   max   =   (  lambda   x     y  :   x   if   x   >   y   else   y  )(  a     b  )   print  (  max  )   

出力
20  

説明: これは、2 つの引数を受け取り、三項演算子を使用して大きい方の引数を返す匿名関数 (ラムダ) を定義します。その後、a と b を使用して呼び出されます。

印刷機能付き三項演算子

三項演算子は、 Python の print ステートメント 。その構文は次のとおりです。

構文: print(条件の場合は値_if_true、そうでない場合は値_if_false)

例: この例では、Python の三項演算子と print ステートメントを使用して、2 つの数値の最小値を見つけています。

Python
   a   =   10   b   =   20   print  (  'a is greater'   if   a   >   b   else   'b is greater'  )   

出力
b is greater  

説明: これは、a が b より大きいかどうかをチェックします。 true の場合、「a が大きい」と出力されます。それ以外の場合は、「b の方が大きい」と出力されます。

Python 三項演算子の制限事項

三項演算子は簡潔ですが、使用には注意が必要です。

  • 過度に使用したり、複雑な条件で使用したりすると、可読性が低下する可能性があります。
  • 単純な 1 行の式に限定されます。

あなたにおすすめ