名前のない関数 (lambda)
「計算のためにわざわざ def で関数を作るのは面倒くさい...1行でサクッと書きたい!」
そんなプログラマの願いを叶えるのが、無名関数 (lambda / ラムダ) です。
1. lambda の基本的な書き方
「引数を受け取って、計算して返す」という一連の処理を、lambda 引数: 処理内容 という非常に短い呪文で書くことができます。
lambda_basic.py
Loading...
💡 いつ lambda を使うの?
実は、lambda を単独の変数に代入して(上で書いたように)使うのはあまりお勧めされません。lambda の真の力は、「他の関数(map や filter など)に、計算ルールだけを1行で渡したい時」に発揮されます!
2. リストを一気に変換する (map)
map() という組み込み関数(最初から用意されている関数)は、リストのすべての中身に対して同じ処理を一気に適用する達人です。
ここで先程の lambda が大活躍します。
map_lambda.py
Loading...
もし lambda を使わなかったら、わざわざ def で1.1倍する関数を作って map に渡す必要がありましたが、1行でスッキリ書けましたね。
3. 必要なものだけ絞り込む (filter)
filter() は、リストの中から「条件に合う(Trueになる)ものだけ」をフィルタリング(抽出)してくれる達人です。
filter_lambda.py
Loading...
🎯 練習問題:奇数だけ救い出せ!
1から10までの数字が入ったリストがあります。filter() と lambda を使って、この中から奇数だけ(2で割って余りが1になる数)を抽出したリスト odd_numbers を作ってください。
lambda_practice.py
Loading...