本記事では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入門におすすめです。
