【Python】lambdaとmapの使い方

 

今日はPythonの主要な機能の1つ、lambda(ラムダ)とmap(マップ)の使い方をご紹介します。

ラムダやマップはコードを書いているとたまに見かけるので覚えておいて損はないですよ!

[toc]

lambdaの使い方

 

足し算をする関数をdefで定義します。

def add(x, y):
    return x + y


# Call the function
print(add(5, 8))

 

実行すると13が表示されます。

 

これをlambdaでは`lambda 引数: 処理内容`のように書きます。

# lambda 引数: 構文
add = lambda x, y: x + y

print(add(5, 8))

 

このaddは<class ‘function’>、つまりfunctionクラスとなります。

 

mapの使い方

 

mapは, map(関数、引数)のように使います。

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を使って演算してみましょう。

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

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog