Pythonのmap()関数は、リストやタプルなどのシーケンス型の各要素に対して指定した関数を適用し、その結果を新しいイテレータとして返す便利な組み込み関数です。
map()関数の基本的な使い方
map()関数の基本的な使い方は以下の通りです。
iterator = map(function, iterable)
ここで、functionは適用する関数、iterableは適用する要素のシーケンス(リストやタプルなど)を指します。
例えば、リストの各要素を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)を生成します。
map()関数と複数のシーケンス
map()関数は複数のシーケンスを組み合わせて処理する際にも便利です。対応する要素同士を1つずつ取り出して関数に渡し、結果を新しいイテレータオブジェクトとして返します。
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の対応する要素を足し合わせる処理を表しています。
以上がPythonのmap()関数とリストの基本的な使い方についての説明です。この関数を使うことで、for文などの反復処理を簡潔に記述することができ、コードが読みやすくなります。