Map 
詳細とオプション
- Mapは標準的なレベル指定を使用する.
-
n レベル1からレベル n まで Infinity レベル1からInfinityまで {n} レベル n のみ {n1,n2} レベル n1からレベル n2まで - Mapにおける levelspec のデフォルト値は{1}である.
- 正のレベル n は,指標 n で指定された expr のすべての部分からなる.
- 負のレベル -n は,深さ n の expr のすべての部分からなる.
- レベル–1は,数,記号,および下位区分を持たない他のオブジェクトからなる.
- レベル0は式全体に相当する.
- Heads->Trueというオプション設定の場合,Mapは式の頭部とその部分を含む.
- Mapは,実質的に常に完全な新しい式を構築し,それを評価する.
- expr がAssociationオブジェクトのとき,Map[f,expr]は f を連想中の値に適用する. »
- expr がSparseArrayオブジェクトまたは構造配列の場合,Map[f,expr]は f を expr 中の値あるいは部分配列に適用する. »
- Map[f][expr]はMap[f,expr]に等しい.
- Parallelize[Map[f,expr]]またはParallelMap[f,expr]はMap[f,expr]をすべてのサブカーネルで並列に計算する. »
例題
すべて開く すべて閉じる例 (5)
Map[f, {a, b, c, d, e}]f /@ {a, b, c, d, e}(1 + g[#])& /@ {a, b, c, d, e}Function[x, x ^ 2] /@ {1, 2, 3, 4}Map[f, {{a, b}, {c, d, e}}]Map[f, {{a, b}, {c, d, e}}, {2}]Map[f, {{a, b}, {c, d, e}}, 2]Map[f][{a, b, c, d}]関数をAssociation中の値に適用する:
Map[h, <|a -> b, c -> d|>]スコープ (11)
レベル指定 (6)
Map[f, {{{{{a}}}}}]Map[f, {{{{{a}}}}}, 2]Map[f, {{{{{a}}}}}, {2}]Map[f, {{{{{a}}}}}, {0, 2}]Map[f, {{{{{a}}}}}, 3]Map[f, {{{{{a}}}}}, Infinity]Map[f, {{{{{a}}}}}, {0, Infinity}]Map[f, {{{{{a}}}}}, -1]Map[f, {{{{{a}}}}}, -2]Map[f, {{{{{a}}}}}, -3]Map[f, {{{{{a}}}}}, {2, -3}]Map[f, h0[h1[h2[h3[h4[a]]]]], {2, -3}]Map[f, {{{{a}}}}, 2, Heads -> True]式の型 (5)
Mapは任意の頭部を持つ式に使うことができる:
Map[f, a + b + c + d]Map[f, x ^ 2 + y ^ 2, 2]Mapは疎な配列に使うことができる:
SparseArray[{1 -> 1, 2 -> 2, 10 -> 10}]Map[f, %]Normal[%]SymmetrizedArrayのような構造配列にMapを使う:
SymmetrizedArray[{{1, 2} -> 1, {1, 3} -> 2, {2, 3} -> 3}, {3, 3}, Antisymmetric[All]]f /@ %Mapを使ってQuantityArray型の構造配列の要素に関数を適用する:
QuantityArray[{{1, 2}, {3, 4}, {5, 6}}, "Meters"]Map[g, %, {2}]ネストしたAssociationの第2レベルに適用する:
Map[h, <|a -> <|b -> c|>, d -> <|e -> f|>|>, {2}]Associationの複数のレベルに適用する:
Map[h, <|a -> <|b -> c|>, d -> {<|e -> f|>}|>, {1, 3}]オプション (1)
アプリケーション (4)
Reverse /@ {{a, b}, {c, d}, {e, f}}Map[(# + {x, y})&, {{1, 1}, {2, 2}, {3, 3}, {4, 4}}]If[PrimeQ[#], Framed[#], #]& /@ Range[20]Map[f[#, 3]&, {a, b, c}]特性と関係 (9)
複数の引数を持つ関数はMapThreadに適用することができる:
MapThread[f, {{1, 2, 3}, {a, b, c}}]MapIndexedは要素の指標を適用した関数に渡す:
MapIndexed[f, {a, b, c}]Map[f, {{a, b}, {c}, {{d}}}, {0, ∞}]MapAll[f, {{a, b}, {c}, {{d}}}]Map[Print, {a, b}]Scan[Print, {a, b}]属性Listableを有する関数は自動的に適用される:
Attributes[Sqrt]Sqrt[{1, 2, 3, 4}]Map[Sqrt, {1, 2, 3, 4}]ParallelMapはMapを並列に計算する:
ParallelMap[PrimeQ[2 ^ # - 1]&, Range[100, 110]]Mapは,事実上ParallelMapを使って自動的の並列化できる:
Parallelize[Map[PrimeQ[2 ^ # - 1]&, Range[100, 110]]]Mapは,別の式の一部を式で包み込む:
Map[f, {x, y, z}]Comapは,式の一部で別の式を包み込む:
Comap[{f, g, h}, x]Mapは,関数を連想の値にマッピングする:
Map[f, <|a -> 1, b -> 2, c -> 3|>]KeyMapは,連想のキーに関数をマッピングする:
KeyMap[f, <|a -> 1, b -> 2, c -> 3|>]KeyValueMapは,連想のキーと値に関数をマッピングする(そしてリストを返す):
KeyValueMap[f, <|a -> 1, b -> 2, c -> 3|>]AssociationMapは,連想の規則に関数をマッピングする:
AssociationMap[Reverse, <|a -> 1, b -> 2, c -> 3|>]Map[f,assoc]はAssociationThread[Keys[assoc]Map[f,Values[assoc]]]に等しい:
assoc = <|1 -> a, 2 -> b, 3 -> c|>;Map[f, assoc] === AssociationThread[Keys[assoc] -> Map[f, Values[assoc]]]考えられる問題 (1)
Mapは,デフォルトでレベル1から始めるので,関数を式全体に適用はしない:
Map[f, h1[h2[h3[x]]], -1]Map[f, h1[h2[h3[x]]], {0, -1}]テクニカルノート
関連するガイド
-
▪
- 関数のリストへの適用 ▪
- 行列の部分 ▪
- リスト操作 ▪
- 関数型プログラミング ▪
- Wolfram言語のシンタックス ▪
- 式 ▪
- 式の部分 ▪
- 連想 ▪
- 関数の合成と演算子形式 ▪
- ループ構文 ▪
- データの配列の操作 ▪
- 言語の概要 ▪
- 増分
履歴
1988 で導入 (1.0) | 2003 で更新 (5.0) ▪ 2014 (10.0)
テキスト
Wolfram Research (1988), Map, Wolfram言語関数, https://reference.wolfram.com/language/ref/Map.html (2014年に更新).
CMS
Wolfram Language. 1988. "Map." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/Map.html.
APA
Wolfram Language. (1988). Map. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Map.html
BibTeX
@misc{reference.wolfram_2026_map, author="Wolfram Research", title="{Map}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Map.html}", note=[Accessed: 10-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_map, organization={Wolfram Research}, title={Map}, year={2014}, url={https://reference.wolfram.com/language/ref/Map.html}, note=[Accessed: 10-November-2026]}