Pythonのlambda(ラムダ式)の書き方を現役エンジニアが解説【初心者向け】
初心者向けにPythonのlambda(ラムダ式)の書き方について現役エンジニアが解説しています。ラムダ式とは、関数に名前を付けずに簡潔に宣言する方法です。lambdaに続いて引数と処理内容を書いていきます。サンプルでは文字数の長さでソートしています。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Pythonのlambda(ラムダ式)の書き方について解説します。
そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。
今回は、Pythonに関する内容だね!
どういう内容でしょうか?
Pythonのlambda(ラムダ式)の書き方について詳しく説明していくね!
お願いします!
lambda(ラムダ式)とは
Pythonにおけるlambdaは、無名関数を定義する手法です。
高階関数(引数に関数を取る関数)を呼び出す際など、簡潔に関数を定義したい場合に、lambdaをよく用います。
lambda(ラムダ式)の書き方
以下のようにlambdaキーワードに続けて、仮引数と式本体を記述します。
lm = lambda args: expression
上記の例では lm(args) で定義した関数を呼び出せます。
lambda(ラムダ式)の中でif(条件式)の処理を行う方法
式本体の中では a if cond else b の形式で条件分岐を記述できます。
戻り値は、条件condが真の場合にa、偽の場合にbになります。
例えば、以下はlambdaを用いて絶対値を求める関数を定義した例です。
abs = lambda x : x if x >=0 else -x
実際に書いてみよう
サンプルコード
xs = ['apple', 'banana', 'strawberry', 'orange', 'lemon'] print(xs) key = lambda s: len(s) print(sorted(xs, key=key))
実行結果
['apple', 'banana', 'strawberry', 'orange', 'lemon'] ['apple', 'lemon', 'banana', 'orange', 'strawberry']
解説
1行目でリストxsを定義しました。
2行目でソート前のリストを表示しました。
4行目でラムダ式を用い、keyという関数を定義しました。この関数は文字列の長さを取得します。
5行目でsorted関数を用い、リストをソートしました。ソートのキーに、先ほど作成したkeyを指定したので、短い文字列の順にソートされました。
監修してくれたメンター
橋本紘希
システムインテグレータ企業勤務のシステムエンジニア。 開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。