セクション 5. 章 4
single
ラムダ関数
メニューを表示するにはスワイプしてください
ラムダ関数は無名関数であり、名前を持ちません。lambdaキーワードを使って作成され、その場で短い関数を定義したい場合によく使用されます。
ラムダ関数の基本構文は次のとおりです:
lambda arguments: expression
lambda: ラムダ関数定義の開始を示すキーワードarguments: 関数が受け取る引数のリストexpression: 関数が呼び出されたときに実行される式。この式の結果が関数の戻り値となります。
ラムダ関数の主な特徴は、その簡潔な構文です。多くのコードを書かずにシンプルな関数を定義したい場合に便利です。
単一引数と複数引数
ラムダ関数は1つまたは複数の引数を取ることができます:
1234567# Single argument square = lambda x: x**2 print(square(5)) # 25 # Multiple arguments add = lambda x, y: x + y print(add(3, 5)) # 8
ラムダ関数における条件付きロジック
ラムダ内で条件付きロジックを追加するには、三項式を使用可能。
123is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
組み込み関数とラムダの併用
よくある使い方として、map() や filter() などの組み込み関数とラムダ関数を組み合わせる方法がある。
123456789prices = [100, 200, 300] # Apply 10% discount to each price discounted = list(map(lambda price: price * 0.9, prices)) print(discounted) # [90.0, 180.0, 270.0] # Keep only prices above 150 expensive = list(filter(lambda price: price > 150, prices)) print(expensive) # [200, 300]
max() を lambda 内で使用することで、式の中で直接エッジケースを処理することも可能。
123safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
注意
ラムダ関数は、短く単一の式で構成されるロジックに最適。複数行や複雑なロジックが必要な場合は、通常の def 関数の使用が推奨される。
タスク
スワイプしてコーディングを開始
価格のリスト(prices)があり、lambda式を実装して、価格をパラメータとして受け取り、そこから13%の税金を差し引く必要があります。
lambdaキーワードを使ってlambda式を定義します。- lambda式は1つのパラメータ(
price)を受け取ります。 priceが負の場合は無効とみなし、lambda式内で直接max()関数を使って0を返します。- lambdaはまず価格をチェックし、その後有効な金額から13%を差し引きます。
- リスト内包表記を使って、
apply_taxをpricesの各要素に適用します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 5. 章 4
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください