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のlen関数:辞書の要素数(長さ)を取得する02183
-
Pythonの辞書から要素を削除する(del)0177
-
Pythonの辞書から要素を削除する(pop)0203
-
Pythonの辞書からキーと値をforで取得する0140
-
listの基本的な使い方|Python0802
-
辞書の基本的な使い方|Python0254
-
Pythonの集合(要素の存在確認、追加、削除)010211
-
Pythonのリスト:インデックスを指定して値を取得する02732
-
Pythonのリストを連結する(足し算)04100
-
Pythonのリストで特定の値を削除する(remove)01607
-
Pythonでリストから要素を削除する(del)01102
-
Pythonで整数の範囲をリストに入れる(range)09006
-
Pythonのリストから重複する要素をカウントする(count)011469