🍣

Pythonのmap関数の解説

2024/12/05に公開

Pythonのmap関数

関数と反復可能なデータ(iterable)に対して、それぞれの要素に関数を適用して新しい反復可能なデータを返すための組み込み関数です。データを効率的に処理するために便利です。

構文

map(function, iterable, ...)

例1: 単一のiterable

numbers = [1, 2, 3, 4, 5]

# mapを使ってリストの各要素を2倍にする
result = map(lambda x: x * 2, numbers)

# 結果をリストに変換して表示
print(list(result))  # [2, 4, 6, 8, 10]

例2: 複数のiterable

list1 = [1, 2, 3]
list2 = [4, 5, 6]

# 2つのリストの対応する要素を加算
result = map(lambda x, y: x + y, list1, list2)

# 結果をリストに変換して表示
print(list(result))  # [5, 7, 9]

注意点

  1. 関数を渡す:

    • functionとして渡すのは、通常lambda関数や定義済みの関数です。
    • 例えば、ビルトイン関数strを渡して要素を文字列化することも可能です。
  2. 遅延評価:

    • mapはイテレータを返すため、要素を消費するまでは実行されません(遅延評価)。
    • 例えば、リストやタプルに変換して結果を見る必要があります。
  3. 複数のiterableの長さが異なる場合:

    • 最短のiterableに合わせて処理されます。

Discussion