Python ラムダ関数: 無名関数の実践ガイド
Python ラムダ関数: 無名関数の実践ガイド
Pythonの匿名ラムダ関数がコードをどう簡素化するかを発見。このガイドでは目的、構文、実用的ユースケースを明確な例で解説します。
動画: Python Lambda
Pythonのラムダ関数とは?
Pythonでは、名前なしで定義される関数を無名関数と呼びます。通常の関数はdefキーワードを使いますが、無名関数はlambdaで宣言。そのためラムダ関数とも呼ばれます。
Pythonでラムダ関数を使う方法
ラムダ関数は簡潔な構文に従います:
Pythonラムダ関数の構文
lambda arguments: expression
任意数の引数を受け取れますが、式は1つのみ。式が評価されその結果が返されます。関数オブジェクトを返すため、関数が必要な場所でどこでも使用可能。
ラムダ関数の例
入力を2倍にするシンプルなラムダ:
# 基本的なラムダ関数を表示
double = lambda x: x * 2
print(double(5))
出力
10
ここではlambda x: x * 2が無名関数を作成。引数xが式x * 2に渡され、評価されて返されます。結果の関数オブジェクトが変数doubleに代入され、通常の関数のように呼び出せます。同等のdef定義:
def double(x):
return x * 2
Pythonでラムダ関数を使うべき場面
ラムダ関数は、特に高階関数への引数として、すぐに使い捨ての関数が必要なときに輝きます。組み込み関数filter()やmap()とよく組み合わせて簡潔な変換を行います。
filter()との例
filter()関数はイテラブルの各アイテムに述語を適用し、条件を満たすもののみ返します。以下例ではリストから偶数のみ保持:
# リストから偶数をフィルタリング
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(filter(lambda x: (x % 2 == 0), my_list))
print(new_list)
出力
[4, 6, 8, 12]
map()との例
map()関数は各要素に変換を適用し、新しいイテラブルを生成。ここではリストの各要素を2倍に:
# map()で各アイテムを2倍に
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(map(lambda x: x * 2, my_list))
print(new_list)
出力
[2, 10, 8, 12, 16, 22, 6, 24]
Python
- Python データ型マスター: 実践ガイド
- Python 演算子完全マスター: 包括的ガイド
- Python pass文完全マスター: 実践ガイド
- Python 関数引数完全マスター: 位置引数・キーワード引数・デフォルト引数
- Pythonラムダ関数をマスターする:実例とベストプラクティス
- Python abs()関数:数値と複素数の絶対値を計算
- Python round()関数を実例で徹底解説
- Python range()関数をマスター:基礎から応用まで
- Python map()関数をマスター:構文、例、ベストプラクティス
- Python yieldをマスター:ジェネレータvs return – 実践ガイド
- Python enumerate()をマスター:リスト、タプル、文字列、辞書でインデックス付きループ