今日はPythonの主要な機能の1つ、lambda(ラムダ)とmap(マップ)の使い方をご紹介します。
ラムダやマップはコードを書いているとたまに見かけるので覚えておいて損はないですよ!
lambdaの使い方
足し算をする関数をdefで定義します。
1 2 3 4 5 6 |
def add(x, y): return x + y # Call the function print(add(5, 8)) |
実行すると13が表示されます。
これをlambdaではlambda 引数: 処理内容
のように書きます。
1 2 3 4 |
# lambda 引数: 構文 add = lambda x, y: x + y print(add(5, 8)) |
このaddは<class ‘function’>、つまりfunctionクラスとなります。
mapの使い方
mapは, map(関数、引数)
のように使います。
1 2 3 4 5 6 7 |
def multiply(x): return x * 2 # map(関数、引数) a = map(multiply, [1, 2, 3, 4]) # Output [2, 4, 6, 8] print(list(a)) |
mapの返り値はmapのオブジェクトになっているので、リスト形式で中身を表示したい場合はlistに変換してから表示します。
lambdaとmapを使ってみる
lambdaとmapを使って演算してみましょう。
1 2 3 4 5 6 7 8 |
b = map(lambda x: x*2, [1, 2, 3, 4]) print(list(b)) c = [1,2,3,4] d = [5,6,7,8] e = map(lambda x, y: x + y, c, d) print(list(e)) |
短いコードで実行できますね。ポイントとしては、mapで引数を複数指定していることです。
lambdaやmapを使うと、プログラマとしてレベルが高いコードがかけるようになるので是非覚えておきたいですね。
おわり。
参考
Medium:
https://medium.com/@happymishra66/lambda-map-and-filter-in-python-4935f248593