Irohabook
0
373

Pythonでmapを使う:mapでリストに関数を適用しよう

Python の map はリストの関数である。数を 2 乗する関数 square を例にとろう。

def square(x):
    return x * x


m = 5
n = square(m)

print(n)
# 25

この平凡な関数をリストに適用したいとする。つまり

[1, 2, 3]

から

[1, 4, 9]

を得たいとする。いよいよ Python の 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 を入れ、その中に適用したい関数、適用したいリストを入れる。

list(map(square, a))

問題

文字列のリストから、それぞれの文字数を出力しなさい。

解答

a = ['apple', 'mac', 'google', 'e', '']
b = list(map(len, a))

print(b)
# [5, 3, 6, 1, 0]

新しい関数を作る必要はない。文字列のカウントは len であり、それを map に入れるだけである。

ポイント: Python で文字を数えるには len を使う

次の記事 Pythonのリストから条件に合う要素を削除する

次の記事

リスト・辞書