Pythonのmap()
関数は、リストやタプルなどの複数要素を持つデータ型に対して、それぞれの要素に同じ処理を行なうための関数です。この記事では、Pythonのmap()
関数を利用してリストの要素を一括で処理する方法について解説します。
map()関数とは
map()
関数は、リストやタプルなどの複数要素を持つデータ型に対して、それぞれの要素に同じ処理を行なうための関数です。例えば、 [1, 2, 3, 4, 5]
というリスト型に対して、それぞれの要素の2乗を要素とする新しいリスト [1, 4, 9, 16, 25]
を生成したい場合にmap()
関数の使用が検討されることが考えられます。
map()関数の使い方
map()
関数の使い方としては、 map(関数, シーケンス)
となります。返り値は関数を適用したシーケンスのmap型オブジェクトとなっています。第一引数の「関数」については、def
を用いて要素に対する処理を記述した関数を渡しても良いし、lambda
式を用いても構いません。第二引数の「シーケンス」は、リスト型やタプル型といった複数要素を持つオブジェクトを指定します。
# map()関数に渡すリスト型を生成
sample_list1 = [1, 2, 3, 4, 5]
# map()関数に渡す関数をdefで定義
def square(x):
return x**2
# map()関数でmap型オブジェクトを生成
sample_list2 = map(square, sample_list1)
# type()関数でmap()関数の返り値がmap型であることを確認
print(type(sample_list2)) # 出力:<class 'map'>
# map型オブジェクトをprint()関数に渡すとアドレスが表示されることを確認
print(sample_list2) # 出力:<map object at 0x000002D48D8BEDA0>
# キャストしてlist型に変換
sample_list2 = list(sample_list2)
# 処理がなされていることを確認
print(sample_list2) # [1, 4, 9, 16, 25]
このように、map()
関数を使うことで、for
文などの操作を必要としない形でリストを生成できることが確認できました。