PythonのLambda式は、無名関数(名前を持たない関数)を簡単に作成するためのシンタックスです。Lambda式は一般的な関数定義に比べて短く、簡潔に記述できるため、コードの可読性が向上し、短い関数を定義する際に非常に便利です。
Lambda式の基本構文
以下は、簡単なLambda式の例です。
add = lambda x, y: x + y
print(add(3, 4)) # 7
この例では、2つの数値を引数に取り、それらの和を返すLambda式を定義しています。
Lambda式の一般的な使用例
Lambda式は、高階関数(他の関数を引数に取る関数)に渡すことができます。以下は、map、filter、およびreduce関数にLambda式を適用する例です。
numbers = [1, 2, 3, 4, 5]
# map関数
squares = list(map(lambda x: x**2, numbers))
print(squares) # [1, 4, 9, 16, 25]
# filter関数
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # [2, 4]
# reduce関数
from functools import reduce
product = reduce(lambda x, y: x * y, numbers)
print(product) # 120
Lambda式を使用する上での注意点
Lambda式は簡潔に記述でき可読性の向上に寄与できますが、Lambda式で書けるなら全てLambda式で書けばいいというわけではありません。以下にLambda式を使用する上の注意点をまとめます。
- 1行での記述が必要
- 複雑な処理には向かない
- 可読性の低下のリスク
以上、PythonのLambda式の使用方法と注意点について説明しました。便利ですが使いすぎはよくありません。良い塩梅で使えるようになりたいですね。