Pythonのmap関数は、指定された関数をシーケンス(リストやタプルなど)の各要素に適用して、新しいイテレータを生成する組み込み関数です。この関数は、反復処理を簡潔に記述するために使用されます。
基本的な使い方
# 数値の2倍を計算する
numbers = [1, 2, 3, 4, 5]
doubled_numbers = map(lambda x: x * 2, numbers)
print(list(doubled_numbers)) # [2, 4, 6, 8, 10]
この例では、numbersリストの各要素に対してラムダ式(lambda x: x * 2)を適用しています。map関数は、各要素に対して指定された関数を適用し、その結果を含む新しいイテレータオブジェクト(doubled_numbers)を生成します。
文字列の長さを計算する
names = ["Alice", "Bob", "Charlie"]
name_lengths = map(len, names)
print(tuple(name_lengths)) # (5, 3, 7)
この例では、namesリストの各要素に対して組み込み関数のlenを適用しています。map関数は、各要素に対してlen関数を適用し、その結果を含む新しいイテレータオブジェクト(name_lengths)を生成します。
複数のシーケンスを組み合わせる
numbers = [1, 2, 3]
squares = [4, 5, 6]
sums = map(lambda x, y: x + y, numbers, squares)
print(list(sums)) # [5, 7, 9]
この例では、numbersとsquaresという2つのリストがあります。map関数には、2つの引数を受け取るラムダ式(lambda x, y: x + y)が使用されています。このラムダ式は、numbersとsquaresの対応する要素を足し合わせる処理を表しています。map関数は、各要素の対応する要素を足し合わせた結果を含む新しいイテレータオブジェクト(sums)を生成します。
以上がPythonのmap関数の基本的な使い方となります。この関数を使うことで、コードを簡潔に記述することができます。