Map
Map[f,expr] or f/@expr
applies f to each element on the first level in expr.
Map[f,expr,levelspec]
applies f to parts of expr specified by levelspec.
Map[f]
represents an operator form of Map that can be applied to an expression.
Details and Options
- Map uses standard level specifications:
-
nlevels 1 through n Infinitylevels 1 through Infinity {n}level n only {n1,n2}levels n1 through n2 - The default value for levelspec in Map is {1}.
- A positive level n consists of all parts of expr specified by n indices.
- A negative level -n consists of all parts of expr with depth n.
- Level –1 consists of numbers, symbols, and other objects that do not have subparts.
- Level 0 corresponds to the whole expression.
- With the option setting Heads->True, Map includes heads of expressions and their parts.
- Map always effectively constructs a complete new expression and then evaluates it.
- If expr is an Association object, Map[f,expr] applies f to the values in the association. »
- If expr is a SparseArray object or structured array, Map[f,expr] applies f to the values or subarrays that appear in expr. »
- Map[f][expr] is equivalent to Map[f,expr].
- Parallelize[Map[f,expr]] or ParallelMap[f,expr] computes Map[f,expr] in parallel on all subkernels. »
Examples
open allclose allBasic Examples (5)
Evaluate f on each element of a list:
Map a function over values in Association:
Scope (11)
Level Specifications (6)
Map on all levels, starting at level 1:
Positive and negative levels can be mixed:
Different heads at each level:
Include heads in the levels specified:
Types of Expressions (5)
Map can be used on expressions with any head:
Map can be used on sparse arrays:
Use Map with structured arrays, such as SymmetrizedArray:
Use Map to apply a function to the elements of a structured array of type QuantityArray:
Map at the second level of a nested Association:
Map at several levels in an Association:
Options (1)
Heads (1)
By default, the function is not mapped onto the heads:
Applications (4)
Add the same vector to every vector in a list:
Frame integers that are prime:
Supply additional constant arguments by using a pure function:
Properties & Relations (7)
A function of several arguments can be mapped with MapThread:
MapIndexed passes the index of an element to the mapped function:
MapAll is equivalent to a specific level specification in Map:
Scan does the same as Map, but without returning a result:
Functions with attribute Listable are mapped automatically:
ParallelMap computes Map in parallel:
Map can be parallelized automatically, effectively using ParallelMap:
Map wraps an expression around parts of another expression:
Comap wraps parts of an expression around another expression:
Possible Issues (1)
Map by default starts at level 1, so does not apply the function to the whole expression:
Neat Examples (1)
Text
Wolfram Research (1988), Map, Wolfram Language function, https://reference.wolfram.com/language/ref/Map.html (updated 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