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

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

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

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ではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。