Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ラムダ関数 | 再帰とラムダ関数
Python関数チュートリアル
セクション 5.  4
single

single

bookラムダ関数

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

ラムダ関数は無名関数であり、名前を持ちません。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
copy

ラムダ関数における条件付きロジック

ラムダ内で条件付きロジックを追加するには、三項式を使用可能。

123
is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
copy

組み込み関数とラムダの併用

よくある使い方として、map()filter() などの組み込み関数とラムダ関数を組み合わせる方法がある。

123456789
prices = [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]
copy

max() を lambda 内で使用することで、式の中で直接エッジケースを処理することも可能。

123
safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
copy
ラムダ
Note
注意

ラムダ関数は、短く単一の式で構成されるロジックに最適。複数行や複雑なロジックが必要な場合は、通常の def 関数の使用が推奨される。

タスク

スワイプしてコーディングを開始

価格のリストprices)があり、lambda式を実装して、価格パラメータとして受け取り、そこから13%の税金を差し引く必要があります。

  1. lambdaキーワードを使ってlambda式を定義します。
  2. lambda式1つのパラメータprice)を受け取ります。
  3. priceが負の場合は無効とみなし、lambda式内で直接max()関数を使って0を返します
  4. lambdaはまず価格をチェックし、その後有効な金額から13%を差し引きます
  5. リスト内包表記を使って、apply_taxprices各要素に適用します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

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

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

セクション 5.  4
single

single

AIに質問する

expand

AIに質問する

ChatGPT

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

some-alt