Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ラムダ関数 | 高階関数とラムダ
Pythonにおける関数型プログラミングの概念

bookラムダ関数

メニューを表示するにはスワイプしてください

ラムダ関数は、Pythonの主要な機能の一つであり、簡潔な構文を用いて小さな無名関数を作成することが可能。ラムダ関数の主な目的は、defを使った関数定義では冗長になるような短く一時的な用途のために、1行で関数を定義すること。

ラムダ関数は、mapfiltersortedなどの高階関数と組み合わせて使用されることが多く、関数を引数として渡す必要があるが、コード内の他の場所で完全な関数を定義したくない場合に便利。

ラムダ関数は任意の数の引数を取ることができるが、1つの式のみを含む必要がある。この式の結果が自動的に返される。ラムダ関数は素早く使い捨ての関数を作成するのに便利だが、複数の文や代入、複雑なロジックを含めることはできず、使いすぎると可読性が低下するという制限がある。これらの制約から、ラムダ関数は単純な処理に使用し、より複雑な操作には通常の関数を使用することが推奨される。

123
numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
copy

上記のコードは、map高階関数とlambda関数を使用して、numbersリスト内の各数値を二乗しています。lambda x: x ** 2は、引数xを受け取り、その二乗を返す無名関数を定義しています。この方法により、別途名前付き関数を定義することなく、リスト内のすべての要素に簡単な処理を素早く適用でき、関数を一度だけ必要とする場合にコードを簡潔かつ集中させることができます。

123
numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
copy

この例では、filter とラムダ関数を使って numbers リストから偶数のみを抽出しています。ここでラムダ関数を使用することで、フィルタリングのロジックが簡潔かつ読みやすくなります。特に、別に名前付き関数を作成せずに簡単なチェックだけを行いたい場合に便利です。

1. ラムダ関数と通常の関数の主な違いは何ですか?

2. def の代わりにラムダ関数を使うべきなのはどんな場合ですか?

question mark

ラムダ関数と通常の関数の主な違いは何ですか?

正しい答えを選んでください

question mark

def の代わりにラムダ関数を使うべきなのはどんな場合ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  5

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  5
some-alt