python の ラムダ式について説明。
ラムダ式
ラムダ式って 分かりにくいって定番です。
で Pythonでのラムダ式を お勉強して ラムダ式を理解します!
まずは 普通の関数
def 関数名(引数): retuen 戻り値
ラムダ式
lambda 引数:戻り値
listの値をそれぞれ2乗するだけの処理を作成して 比べてみます。
#処理1:関数 num = [1, 2, 3] numlist = [] def double(x): return x ** 2 for a in num: numlist.append(double(a)) print(numlist)
#処理2:関数2 (ラムダ式にする為に少し変形) num = [1, 2, 3] def double(x): return x ** 2 num = list(map(double, num)) print(num)
#処理3:ラムダ式 num = [1, 2, 3] num = list(map(lambda x:x ** 2 ,num)) print(num)
[1, 4, 9]
その時しか使わないのにわざわざ関数にする?
簡単な処理を関数にする?
なんて 時に 使います。
関数として 使えますが 名前を設定しないので 無名関数ともいいます。
map関数
map(関数, シーケンス)
シーケンスのそれぞれの要素を引数として関数の結果を返します。ラムダ式は関数として利用できるので 引数に指定してもOKです。
戻り値はmap型のオブジェクトになります。
上では list関数を利用して map型をlist型に変換しています。