ページへ戻る
− Links
印刷
Python/ラムダ式
の編集 ::
NJF Wiki
xpwiki
:
Python
/
ラムダ式
の編集
# q9f534a7 の編集
ページ内容:
*ラムダ式のメリット [#q9f534a7] ラムダ式のメリットはおそらく次の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」を定義してしまうと、他の場所からもこの関数を呼び出せてしまうため、この関数を管理する必要が出てきます。 たとえば、関数の内部の書き換えるときには、思わぬ影響がでないように他の場所で使われていないことを確認しなければなりません。またこれと同じ名前の関数は使えませんし、まぎらわしい名前の関数も使うべきではないでしょう。 ラムダ式なら、そもそも他から参照できる名前を持たないので、そのような管理の煩雑さはなくなります。無名関数の無名であるゆえのメリットと言えます。
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「東京」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
[1]
Links list
(This host) = https://njf.jp
(This host)
/cms/modules/xpwiki/?cmd=edit&help=true&page=Python%2F%E3%83%A9%E3%83%A0%E3%83%80%E5%BC%8F