
3.2
関数
79
In [176]: for x in map(remove_punctuation, states):
.....: print(x)
Alabama
Georgia
Georgia
georgia
FlOrIda
south carolina
West virginia
3.2.4
無名(ラムダ)関数
Python
はいわゆる無名関数やラムダ関数をサポートしています。これは、値を戻すような処理を一
文で定義して書く関数です。
lambda
キーワードを使って宣言し、このキーワードには「無名関数を定義
する」以外の意味はありません。
def short_function(x):
return x * 2
equiv_anon = lambda x: x * 2
この本ではこれらの関数をラムダ関数として参照することがあります。ラムダ関数は特にデータ分析
では便利です。というのも、データ変換関
数の多くは、関数を引数に持つからです。関数を定義して
使ったり、ラムダ関数を変数に代入して普通の関数のように使うよりも、ラムダ関数を直接使うことで、
タイピングの量が減り、コードが明確になります。例えば、次の例の使い方を見てください。
def apply_to_list(some_list, f):
return [f(x) for x in some_list]
ints = [4, 0, 1, 5, 6]
apply_to_list(ints, lambda x: x * 2)
これは
[x * 2 for x in ...