Python の map() 関数

map(function, iterable,...) 関数は Python のビルトイン関数です。何もモジュールをインポートすることなく使うことができます。

map(function, iterable,...) 関数は、 元のコレクション (iterable) のそれぞれの要素を、第一引数の function で処理し、異なるリストを作り出します。

# 受取った m に 5 を足して返す関数
def add_five(m):
    return m + 5


L = [1, 2, 3]
R = map(add_five, [1, 2, 3])
print(*R) # 6, 7, 8

print の引数につけたアスタリスク * については「アスタリスク * による List のアンパック」をみてください。

lambda 式を使って同じ内容を書くと、次のようになります。

L = [1, 2, 3]
R = map(lambda i: i + 5, L)
print(*R)  # 6, 7, 8

また、コレクション (iterable) は複数指定することができ、第二引数から順番に第一引数で指定した関数 (callable) への引数として渡されます。

L = map(lambda s, t: s + t, ['A', 'B', 'C'], ['x', 'y', 'z'])
print(*L) # Ax By Cz

引数で渡したコレクションの長さが異なる場合には、渡されたコレクションの中で一番短い (要素が少ない) コレクションまで繰り返して、処理を終了します。

L = map(lambda s, t: s + t, ['A', 'B'], ['x', 'y', 'z'])
print(*L) # Ax By

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門