ページへ戻る
印刷
Python/ラムダ式
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:Python/ラムダ式 をテンプレートにして作成
開始行:
*Pythonのラムダ式とは
Pythonのラムダ式は以下のような記法で書かれる式のことです。
lambda 引数:戻り値
例えば、引数の第二要素を取得するのなら、
lambda d:d[1]
となり、実際に使うのは
(lambda d:d[1])("abcdef")
結果
b
とします。
他の言語で言うところの、無名関数のようなものです。
*通常の関数定義との差
通常の返値のある関数との差は特にありません。
例えば
get2 = lambda d:d[1]
と変数に入れてやると、
get2("abcdef")
結果
b
となり、関数と全く同じように使えます。
def get2Func(x):
return x[1]
get2Func("abcdef")
結果
b
となります。また関数は変数に入れることもできるので、
get2 = get2Func
get2("abcdef")
結果
b
となり、ラムダ式も関数も定義の仕方が異なるだけで、全く同...
「ラムダ式は変数に入れられるところが便利」という記述を見...
異なるのは定義の時にそのまま変数に入れられない、というこ...
*ラムダ式のメリット
ラムダ式のメリットはおそらく次の2つです。
-短い処理なら記法が簡便となる
-管理すべきものを減らせる
一つ目の「短い処理なら記法が簡便となる」はそのままです。
先ほどの例なら、ラムダ式なら
lambda d:d[1]
一方関数なら、
def get2Func(x):
return x[1]
となり、少しラムダ式の方が短く書けます。
二番目の「管理すべきものを減らせる」を見るために、文字列...
testList = ["2134","1200","3991","1234","4444"]
testList.sort(key=lambda d:d[1])
一方、関数で書くと以下のようになります。
testList = ["2134","1200","3991","1234","4444"]
def get2Func(x):
return x[1]
testList.sort(key=get2Func)
もしこの処理が何万行もあるプログラムの中で、ここでしか使...
そのような場合でも、関数として「get2Func」を定義してしま...
たとえば、関数の内部の書き換えるときには、思わぬ影響がで...
ラムダ式なら、そもそも他から参照できる名前を持たないので...
*まとめ
Pythonのラムダ式は他の言語の無名関数のようなもので、コン...
使いどころとしては、一回限りの小さな処理などに便利です。
複雑な処理や何度も使う処理なら関数の方が便利です。
終了行:
*Pythonのラムダ式とは
Pythonのラムダ式は以下のような記法で書かれる式のことです。
lambda 引数:戻り値
例えば、引数の第二要素を取得するのなら、
lambda d:d[1]
となり、実際に使うのは
(lambda d:d[1])("abcdef")
結果
b
とします。
他の言語で言うところの、無名関数のようなものです。
*通常の関数定義との差
通常の返値のある関数との差は特にありません。
例えば
get2 = lambda d:d[1]
と変数に入れてやると、
get2("abcdef")
結果
b
となり、関数と全く同じように使えます。
def get2Func(x):
return x[1]
get2Func("abcdef")
結果
b
となります。また関数は変数に入れることもできるので、
get2 = get2Func
get2("abcdef")
結果
b
となり、ラムダ式も関数も定義の仕方が異なるだけで、全く同...
「ラムダ式は変数に入れられるところが便利」という記述を見...
異なるのは定義の時にそのまま変数に入れられない、というこ...
*ラムダ式のメリット
ラムダ式のメリットはおそらく次の2つです。
-短い処理なら記法が簡便となる
-管理すべきものを減らせる
一つ目の「短い処理なら記法が簡便となる」はそのままです。
先ほどの例なら、ラムダ式なら
lambda d:d[1]
一方関数なら、
def get2Func(x):
return x[1]
となり、少しラムダ式の方が短く書けます。
二番目の「管理すべきものを減らせる」を見るために、文字列...
testList = ["2134","1200","3991","1234","4444"]
testList.sort(key=lambda d:d[1])
一方、関数で書くと以下のようになります。
testList = ["2134","1200","3991","1234","4444"]
def get2Func(x):
return x[1]
testList.sort(key=get2Func)
もしこの処理が何万行もあるプログラムの中で、ここでしか使...
そのような場合でも、関数として「get2Func」を定義してしま...
たとえば、関数の内部の書き換えるときには、思わぬ影響がで...
ラムダ式なら、そもそも他から参照できる名前を持たないので...
*まとめ
Pythonのラムダ式は他の言語の無名関数のようなもので、コン...
使いどころとしては、一回限りの小さな処理などに便利です。
複雑な処理や何度も使う処理なら関数の方が便利です。
ページ名: