そのシンプルさと読みやすさで知られる Python は、ラムダ関数と呼ばれる強力な機能を提供します。これらの小さな匿名関数は、完全な関数定義を必要とせずに単純な機能を表現する簡潔な方法を提供します。この記事では、ラムダ関数とは何か、どのように機能するのかを説明し、そのユースケースを示す例を示します。
ラムダ関数は、lambda キーワードを使用して定義された小さな匿名関数です。引数はいくつでも取ることができますが、式は 1 つだけしか含めることができません。構文は次のとおりです:
lambda arguments: expression
Lambda 関数は、関数が第一級市民として扱われる関数型プログラミングで特に役立ちます。これは、それらを引数として渡したり、他の関数から返したり、変数に割り当てたりできることを意味します。
2 つの数値を加算する基本的なラムダ関数を定義して使用する方法は次のとおりです。
add = lambda x, y: x + y result = add(3, 5) print(result) # Output: 8
この例では、add 関数は 2 つの引数を受け取り、それらの合計を返します。
map() 関数は、指定された関数を反復可能内のすべての項目に適用します。ここでは、map() でラムダ関数を使用してリスト内の数値を 2 乗する方法を示します。
numbers = [1, 2, 3, 4, 5] squares = list(map(lambda x: x ** 2, numbers)) print(squares) # Output: [1, 4, 9, 16, 25]
filter() 関数は、関数が true を返す要素のリストを作成します。ラムダ関数を使用してリストから偶数を除外する方法は次のとおりです。
numbers = [1, 2, 3, 4, 5, 6] odd_numbers = list(filter(lambda x: x % 2 != 0, numbers)) print(odd_numbers) # Output: [1, 3, 5]
ラムダ関数を使用してリストの並べ替えをカスタマイズできます。たとえば、2 番目の要素に基づいてタプルのリストを並べ替えるには、次のように実行できます:
data = [(1, 'one'), (3, 'three'), (2, 'two')] sorted_data = sorted(data, key=lambda x: x[1]) print(sorted_data) # Output: [(1, 'one'), (3, 'three'), (2, 'two')]
高階関数は、他の関数を引数として受け取ることができる関数です。これを示す例を次に示します。
def apply_function(f, x): return f(x) result = apply_function(lambda x: x * 2, 10) print(result) # Output: 20
Lambda 関数には条件付きロジックを含めることもできます。 2 つの値の最大値を返すラムダ関数を定義する方法は次のとおりです。
max_value = lambda a, b: a if a > b else b print(max_value(10, 20)) # Output: 20
Python ラムダ関数は、簡潔で表現力豊かなコードを作成するための強力なツールです。これにより、開発者は、完全な関数定義のオーバーヘッドなしで、さまざまなコンテキストで使用できる小さな使い捨て関数を作成できます。ラムダ関数は通常の関数に代わるものではありませんが、単純さと簡潔さが要求される状況では非常に貴重です。
ラムダ関数をコードに統合することで、可読性が向上し、Python での関数プログラミングの作業をより効率的に行うことができます。ラムダ関数を map()、filter()、またはカスタム高階関数で使用するかどうかに関係なく、ラムダ関数は Python の多用途ツールキットの重要な部分です。
以上がPython Lambda 関数を理解する: 包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。