こんにちは、今日はラムダ式についてまとめました。
使わなくてもコードは書けますが、コードがシンプルになる場合があるので、
覚えておいて損はないです。
また、よく見かける書き方なので、
他人のコードを理解するためにも知っておいたほうがよいでしょう。
理解する手順として、
1.通常の関数を使ったやり方
2.関数部分をラムダ式に置き換えて動きを理解する
3.さらに簡単にする
です。やっていきましょう。
例題として、文字で構成されるリストを用意して、
頭文字を大文字に書き換える関数を作ってみましょう。
通常の関数を使ったやりかた
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#頭文字がcapitalだったりlowerだったりするリスト li=["Aaa","bbb","Ccc","ddd","Eee"] #リストから要素をひとつづつ取り出して、関数funcに従って処理をする。 def one_by_one(words,func): for word in words: print(func(word)) #頭文字がlowerだったらcapitalに変換する関数 def capital_change_func(word): return word.capitalize() one_by_one(li,capital_change_func)#このとき渡す関数には()をつけない。 |
ラムダ式でコードをシンプルにする
1 2 3 4 5 6 7 8 9 10 11 12 |
#頭文字がcapitalだったりlowerだったりするリスト li=["Aaa","bbb","Ccc","ddd","Eee"] #リストから要素をひとつづつ取り出して、関数funcに従って処理をする。 def one_by_one(words,func): for word in words: print(func(word)) #関数と全く同じ意味 capital_change_func=lambda word:word.capitalize() one_by_one(li,capital_change_func) |
さらにシンプルにする
1 2 3 4 5 6 7 8 9 10 |
#頭文字がcapitalだったりlowerだったりするリスト li=["Aaa","bbb","Ccc","ddd","Eee"] #リストから要素をひとつづつ取り出して、関数funcに従って処理をする。 def one_by_one(words,func): for word in words: print(func(word)) #直接 引数に書いてしまってもいい。おすすめ。 one_by_one(li,lambda word:word.capitalize()) |
The following two tabs change content below.
Keita N
最新記事 by Keita N (全て見る)
- 2024/1/13 ビットコインETFの取引開始:新たな時代の幕開け - 2024年1月13日
- 2024/1/5 日本ビジネスにおける変革の必要性とその方向性 - 2024年1月6日
- 2024/1/3 アメリカ債権ETFの見通しと最新動向 - 2024年1月3日