Python – ラムダ式

Python

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

コメント

タイトルとURLをコピーしました