ラムダ式

百草
リリース: 2023-09-15 10:59:34
オリジナル
1401 人が閲覧しました

ラムダ式は、匿名関数の簡潔な表現です。関数がパラメータとして必要な場合はどこでも使用でき、よりシンプルで柔軟なコーディング方法を提供します。その構文は「ラムダ パラメータ」です。リスト: 式" の場合、パラメーター リストは関数のパラメーターであり、カンマで区切られた 1 つ以上のパラメーターを含めることができます。式は関数の実行本体であり、関数の特定の操作を定義するために使用されます。

ラムダ式

ラムダ式は、匿名関数の簡潔な表現です。関数がパラメーターとして必要な場合に使用でき、より簡潔で柔軟性の高い関数を提供します。エンコーディング。ラムダ式はさまざまなプログラミング言語でサポートされています。以下では、ラムダ式の使用方法を紹介する例として Python 言語を使用します。

ラムダ式の一般的な構文形式は次のとおりです:

lambda 参数列表: 表达式
ログイン後にコピー

その中で、パラメーター リストは関数のパラメーターであり、カンマで区切られた 1 つ以上のパラメーターを含めることができます。式 は関数の実行本体であり、関数の特定の操作を定義するために使用されます。

ラムダ式の使用シナリオは次のとおりです。

- 関数パラメータとして、map、filter、reduce などの高階関数に渡されます。

#- 追加の関数の定義を避けるために匿名関数を作成するために使用されます。

#- コードを簡素化し、より簡潔で読みやすくするために使用されます。

以下はラムダ式の使用法を説明するためのいくつかの例です:

1. ラムダ式は関数パラメータとして高階関数に渡されます:

# 使用Lambda表达式计算列表中每个元素的平方
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers)  # 输出: [1, 4, 9, 16, 25]
ログイン後にコピー

上記ではたとえば、ラムダ式は、リスト内の各要素の二乗を計算する無名関数を定義します。 `map()` 関数を通じてリスト内の各要素にラムダ式を適用し、最後に新しいリスト `squared_numbers` を取得します。

2. コードを簡素化するためにラムダ式が使用されています:

# 使用Lambda表达式筛选出列表中的偶数
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 输出: [2, 4]
ログイン後にコピー

上の例では、ラムダ式はリスト内の要素が偶数であるかどうかを判断する無名関数を定義しています。 `filter()` 関数を通じてリスト内の各要素にラムダ式を適用し、最終的に元のリスト内のすべての偶数を含む新しいリスト `even_numbers` を取得します。

3. ソートにはラムダ式が使用されます:

# 使用Lambda表达式对列表进行排序
students = [('Alice', 20), ('Bob', 19), ('Charlie', 21)]
students.sort(key=lambda x: x[1])
print(students)  # 输出: [('Bob', 19), ('Alice', 20), ('Charlie', 21)]
ログイン後にコピー

上の例では、ラムダ式はソート キーワードを指定するための匿名関数を定義しています。ここではタプルの 2 番目の要素に従っています。並べ替えられています。 「sort()」関数を通じてラムダ式をリスト内の各要素に適用すると、年齢の昇順でソートされた新しいリスト「students」が作成されます。

ラムダ式は通常、単純な関数の操作に使用されますが、複雑な関数ロジックや再利用が必要な関数の場合は、従来の関数定義方法を使用することをお勧めします。

要約すると、ラムダ式は匿名関数を表現する簡潔な方法であり、関数パラメータの受け渡し、匿名関数の作成、コードの簡素化などのシナリオで使用できます。ラムダ式により、関数の演算をより柔軟かつ簡潔に処理できるようになり、コードの読みやすさと記述効率が向上します。

以上がラムダ式の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!