Map
Map[f,expr]または f/@expr
expr の第1レベルにある各要素に f を適用する.
Map[f,expr,levelspec]
levelspec によって指定される式 expr の部分に f を適用する.
詳細とオプション
- 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)
関数をAssociation中の値に適用する:
スコープ (11)
レベル指定 (6)
式のタイプセット (5)
Mapは任意の頭部を持つ式に使うことができる:
Mapは疎な配列に使うことができる:
SymmetrizedArrayのような構造配列にMapを使う:
Mapを使ってQuantityArrayタイプの構造配列の要素に関数を適用する:
ネストしたAssociationの第2レベルに適用する:
Associationの複数のレベルに適用する:
特性と関係 (7)
複数の引数を持つ関数はMapThreadに適用することができる:
MapIndexedは要素の指標を適用した関数に渡す:
属性Listableを有する関数は自動的に適用される:
ParallelMapはMapを並列に計算する:
Mapは,事実上ParallelMapを使って自動的の並列化できる:
Mapは,別の式の一部を式で包み込む:
Comapは,式の一部で別の式を包み込む:
考えられる問題 (1)
Mapは,デフォルトでレベル1から始めるので,関数を式全体に適用はしない:
テキスト
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