Pythonのlambda(ラムダ式)の書き方を現役エンジニアが解説【初心者向け】

初心者向けにPythonのlambda(ラムダ式)の書き方について現役エンジニアが解説しています。ラムダ式とは、関数に名前を付けずに簡潔に宣言する方法です。lambdaに続いて引数と処理内容を書いていきます。サンプルでは文字数の長さでソートしています。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

Pythonのlambda(ラムダ式)の書き方について解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのlambda(ラムダ式)の書き方について詳しく説明していくね!

大石ゆかり

お願いします!

 

lambda(ラムダ式)とは

Pythonにおけるlambdaは、無名関数を定義する手法です。

高階関数(引数に関数を取る関数)を呼び出す際など、簡潔に関数を定義したい場合に、lambdaをよく用います。

 

lambda(ラムダ式)の書き方

以下のようにlambdaキーワードに続けて、仮引数と式本体を記述します。

 

lm = lambda args: expression

 
上記の例では lm(args) で定義した関数を呼び出せます。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

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では、初心者でも最短4週間でPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。