ラムダ関数は無名関数とも呼ばれ、関数名を付けずに一行で簡潔に関数を定義する方法です。特に、短い処理を記述する際に便利です。ラムダ関数は lambda キーワードを使って定義し、引数と処理内容を記述します。
ラムダ関数は次のような構文で定義します:
この構文は通常の関数定義よりも簡潔で、関数名を持たないため「無名関数」とも呼ばれます。
次の例では、二つの数値を掛け算するラムダ関数を定義しています:
=
# 出力: 6
この例では、multiply という変数にラムダ関数を代入しています。multiply を通常の関数のように呼び出して、引数 x と y に対して掛け算を行います。
ラムダ関数は、リストの各要素に対して適用する関数としてもよく使われます。例えば、リストの各要素を2倍にする場合:
=
=
# 出力: [2, 4, 6, 8, 10]
この例では、map 関数を使ってリスト numbers の各要素にラムダ関数を適用し、その結果を新しいリスト doubled として取得しています。
ラムダ関数は、ソートのキーとして使用することもできます。例えば、リストの要素を特定の基準でソートする場合:
=
=
# 出力: [{'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 23}, {'name': 'Alice', 'age': 25}]
この例では、sorted 関数にラムダ関数を渡して、各学生の年齢を基準にソートしています。
ラムダ関数内で条件分岐を行うことも可能です。例えば、引数が偶数か奇数かを判定するラムダ関数を定義する場合:
=
# 出力: Even
# 出力: Odd
この例では、ラムダ関数内で条件式を使って引数 x が偶数か奇数かを判定し、それに応じた文字列を返しています。
map、filter、sorted などの高階関数と組み合わせて使用する際に便利。ラムダ関数は、短い処理を簡潔に記述するための強力なツールです。特に、高階関数と組み合わせて使用することで、コードをシンプルかつ効果的に書くことができます。しかし、複雑な処理には通常の関数を使用し、可読性を保つことが重要です。次の章では、Pythonの基本的なデータ構造について学び、データの管理と操作方法を深く理解します。