Python 匿名/Lambda 関数
Python 匿名/Lambda 関数
この記事では、ラムダ関数とも呼ばれる無名関数について学習します。それらが何であるか、その構文、およびそれらの使用方法を (例とともに) 学びます。
ビデオ:Python Lambda
Python のラムダ関数とは?
Python では、無名関数は名前なしで定義される関数です。
通常の関数は def
を使用して定義されますが、 Python のキーワードでは、無名関数は lambda
を使用して定義されます。 キーワード。
したがって、無名関数はラムダ関数とも呼ばれます。
Python でラムダ関数を使用する方法
Python のラムダ関数の構文は次のとおりです。
Python での Lambda 関数の構文
lambda arguments: expression
Lambda 関数は任意の数の引数を持つことができますが、式は 1 つだけです。式が評価されて返されます。 Lambda 関数は、関数オブジェクトが必要な場所ならどこでも使用できます。
Python での Lambda 関数の例
入力値を 2 倍にするラムダ関数の例を次に示します。
# Program to show the use of lambda functions
double = lambda x: x * 2
print(double(5))
出力
10
上記のプログラムでは、 lambda x: x * 2
ラムダ関数です。こちらx は引数で、x * 2
評価されて返される式です。
この関数には名前がありません。識別子 double
に割り当てられた関数オブジェクトを返します .これで、通常の関数として呼び出すことができます。声明
double = lambda x: x * 2
とほとんど同じです:
def double(x): return x * 2
Python での Lambda 関数 の使用
短期間で名前のない関数が必要な場合は、ラムダ関数を使用します。
Python では、通常、高階関数 (他の関数を引数として取る関数) への引数として使用します。ラムダ関数は filter()
のような組み込み関数とともに使用されます 、 map()
など
filter() の使用例
filter()
Python の function は、関数とリストを引数として受け取ります。
関数はリスト内のすべてのアイテムで呼び出され、関数が True
と評価するアイテムを含む新しいリストが返されます。 .
filter()
の使用例を次に示します。 リストから偶数のみを除外する関数。
# Program to filter out only the even items from a list
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(filter(lambda x: (x%2 == 0) , my_list))
print(new_list)
出力
[4, 6, 8, 12]
map() の使用例
map()
Python の function は、関数とリストを受け取ります。
関数はリスト内のすべてのアイテムで呼び出され、各アイテムに対してその関数によって返されたアイテムを含む新しいリストが返されます。
map()
の使用例を次に示します。 リスト内のすべての項目を 2 倍にする関数。
# Program to double each item in a list using map()
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = list(map(lambda x: x * 2 , my_list))
print(new_list)
出力
[2, 10, 8, 12, 16, 22, 6, 24]
Python