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型に変換しています。
コメント