Python if文をlambda式と三項演算子を利用して1行で記述する

Python if文をlambda式と三項演算子を利用して1行で記述する

pythonで、if文をlambda式と三項演算子を利用して1行で記述するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

lambda式と三項演算子

以下のような、関数を利用した条件式を、lambda式と三項演算子を利用して記述すると、

def hoge(n):
    if n % 2 == 0:
        print("偶数")
    else:
        print("奇数")

hoge(2) # 偶数

1行で、記述することができます。

hoge = lambda n:print("偶数") if n % 2 == 0 else print("奇数")

hoge(2) # 偶数