PythonのLambda式は、無名関数(名前を持たない関数)を簡単に作成するためのシンタックスです。また、Pythonのor演算子は、条件分岐を行う際に使用されます。
PythonのLambda式
PythonのLambda式は、一行で記述しなければならないため、複雑な処理には向いていません。しかし、簡単な条件分岐の場合には、三項演算子とLambda式を組み合わせることができます。
scores = [52, 85, 90, 40, 80]
results = map(lambda x: 'PASS' if x >= 80 else "FAIL", scores)
print(list(results)) # ['FAIL', 'PASS', 'PASS', 'FAIL', 'PASS']
上記の例では、ある得点(scores)を保持するリストがあり、その得点が80点以上の場合に’PASS’、80点未満の時に’FAIL’という文字を返しています。
Pythonのor演算子
Pythonのor演算子は、次の形式で条件分岐を行います。
(Trueと評価される値) or (Falseの場合の値)
次の例では、果物(fruits)のリストが与えられています。そのうち空文字の箇所を、”(n/a)”という文字に置き換えています。
fruits = ['Apple', '', 'Orange']
results = map(lambda x: x or "(n/a)", fruits)
print(list(results)) # ['Apple', '(n/a)', 'Orange']
空の文字列はFalse、それ以外はTrueと評価されます。そのため’Apple’という文字はTrueなので、その文字そのものが返り、空文字”はFalseなのでorの後に指定した”(n/a)”という文字が返っています。
以上、PythonのLambda式とor演算子について簡単に説明しました。これらの概念を理解し、適切に使用することで、Pythonプログラミングの幅が広がります。