Pythonでラムダ式(無名関数)を使う方法

Python

本記事ではPythonでラムダ式を使う方法を解説します。
ラムダ式というのはプログラムの記述方法の一種で、名前の無い関数(無名関数)を定義する方法です。

Pythonでラムダ式を使う方法

例えば、次の関数は与えられた値を二倍にするラムダ式です。

lambda x: x * 2

そして、上記のラムダ式を適用した例が下記になります。

>>> (lambda x: x * 2)(10)
20

また、ラムダ式は変数に代入することもできます。

>>> double_func = lambda x: x * 2
>>> double_func(2)
4
>>> double_func(5)
10

Pythonでラムダ式の応用

ラムダ式の代表的な使い道としてはmax関数、min関数、sorted関数の引数として使用することが考えられます。

>>> l_str = ['bbbb', 'abbb', 'aaba']
>>> max(l_str, key=lambda x: x.count('b'))
'bbbb'

上記はmax関数の例です。文字列に含むbの数が最大のものを取得しております。
‘bbbb’のbの数は4、’abbb’のbの数は3、’aaba’のbの数は1で、bの数が最も多いのは’bbbb’です。
従って’bbbb’を返却します。

>>> l_str = ['bbbb', 'abbb', 'aaba']
>>> min(l_str, key=lambda x: x.count('b'))
'aaba'

上記はmin関数の例です。文字列に含むbの数が最小のものを取得しております。
bの数が最も少ないのは’aaba’です。
従って’aaba’を返却します。

>>> l_str = ['bbbb', 'abbb', 'aaba']
>>> sorted(l_str, key=lambda x: x.count('b'))
['aaba', 'abbb', 'bbbb']

上記はsorted関数の例です。文字列に含むbの数が最小のものから順番に並べております。
bの数が少ない順に、’aaba’, ‘abbb’, ‘bbbb’なので、そのように返却します。

↓はPython入門におすすめです。

楽天ブックス
¥2,640 (2025/03/17 19:40時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場

タイトルとURLをコピーしました