Pythonでは、lambda
関数を使用して簡単な関数を作成することができます。特に、if
、else
、elif
を使用したlambda
関数は、コードを簡潔に書くための強力なツールです。
lambda関数の基本
lambda
関数は、名前を持たない一時的な関数です。以下のような形式で定義します。
lambda arguments: expression
ここで、arguments
は関数の引数を、expression
は関数の戻り値を表します。
if、elseを使用したlambda関数
lambda
関数の中でif
、else
を使用することも可能です。その形式は以下の通りです。
lambda arguments: expression_if_true if condition else expression_if_false
この形式では、condition
が真(True)であればexpression_if_true
が、偽(False)であればexpression_if_false
が戻り値となります。
例えば、与えられた数値が10未満であればその数値を5倍し、10以上であればそのままの数値を返すlambda
関数は以下のようになります。
f = lambda x: x * 5 if x < 10 else x
この関数f
を使って、数値5と15をそれぞれ評価すると、以下のようになります。
print(f(5)) # 25
print(f(15)) # 15
if、elif、elseを使用したlambda関数
さらに、lambda
関数の中でif
、elif
、else
を使用することも可能です。その形式は以下の通りです。
lambda arguments: expression1 if condition1 else (expression2 if condition2 else expression3)
この形式では、condition1
が真(True)であればexpression1
が、condition1
が偽(False)でcondition2
が真(True)であればexpression2
が、両方の条件が偽(False)であればexpression3
が戻り値となります。
例えば、与えられた数値が10未満であればその数値を5倍し、10以上20未満であればその数値を10倍し、20以上であればそのままの数値を返すlambda
関数は以下のようになります。
f = lambda x: x * 5 if x < 10 else (x * 10 if x < 20 else x)
この関数f
を使って、数値5、15、25をそれぞれ評価すると、以下のようになります。
print(f(5)) # 25
print(f(15)) # 150
print(f(25)) # 25
以上、Pythonのlambda
関数でif
、else
、elif
を使用する方法について説明しました。これらの機能を活用することで、より簡潔で読みやすいコードを書くことができます。