lambda(ラムダ)式(無名関数)て聞いた事あるけど,一体何がいいの?関数defを定義してるけど,1回しか使わないから,もっとスキッリした書き方はないだろうか?こんな疑問をお持ちに皆様に本記事はlambda式の解説から使い方を解説していきます.
スポンサーリンク
lambda(ラムダ)式て何
初めにlambda式を知らなくてもプログラムは書けます.ではなぜ,lambda式でプログラムを書くのかそれは便利だからです.lambda式は関数を定義することができ,無名関数と呼ばれています.作りたい関数を1行にまとめる事ができるのがポイントです.
・単純な掛け算をlambda式を使って書いてみましょう.
[IN]
lambda a,b :a*b
print((lambda a,b :a*b)(a=2,b=5))
[OUT]
10
lambda式で繰り返し処理
lambdaで繰り返し処理をするときはmap()関数を使います.
map()関数は関数(計算式)をリストに記載された順に当てはめて計算を行い値をを返します.以下にmap()関数の書式を記載します.
・品物をセールの時に20%OFFで売る時の売値をmap()関数とlambdaを使って作成します.
[IN]
items = [2000,3000,4000,5000] #品物の価格リスト
sale=list(map(lambda i : i *0.8, items ))#map()で繰り返す.
print(sale)
[OUT]
[1600.0, 2400.0, 3200.0, 4000.0]
1行で関数を使った繰り返し計算ができました.
lambda式でif文と組み合わせる
lambda式でif文を書くには三項演算子を用います.
[IN]
items = [2000,3000,4000,5000] #品物の価格リスト
sale=list(map(lambda i : i *0.7 if i>=4000 else i*0.8 , items ))
print(sale)
[OUT]
[1600.0, 2400.0, 2800.0, 3500.0]
これでIF文も繰り返しも1行で書けるようになりました.
スポンサーリンク
コメント