数を 2 乗する関数 square を例に、Python の map について考える。
def square(x): return x * x m = 5 n = square(m) print(n) # 25
この平凡な関数をリストに適用したいとする。つまり
[1, 2, 3]
[1, 4, 9]
としたい。これは map で実現される。
def square(x): return x * x a = [1, 2, 3, 4] b = list(map(square, a)) print(b) # [1, 4, 9, 16]
list に map を入れ、その中に適用したい関数、適用したいリストを入れる。
例:文字列のリストから、それぞれの文字数を出力するコード
a = ['apple', 'mac', 'google', 'e', ''] b = list(map(len, a)) print(b) # [5, 3, 6, 1, 0]
新しい関数を作る必要はない。文字列のカウントは len であり、それを map に入れるだけである。