Wolfram Language & System 10.4 (2016)|Legacy Documentation

This is documentation for an earlier version of the Wolfram Language.
BUILT-IN WOLFRAM LANGUAGE SYMBOL

MapIndexed

MapIndexed[f,expr]
applies f to the elements of expr, giving the part specification of each element as a second argument to f.

MapIndexed[f,expr,levelspec]
applies f to all parts of expr on levels specified by levelspec.

MapIndexed[f]
represents an operator form of MapIndexed that can be applied to an expression.

Details and OptionsDetails and Options

• MapIndexed uses standard level specifications:
•  n levels through n Infinity levels through Infinity {n} level n only {n1,n2} levels through
• The default value for levelspec in MapIndexed is .
• 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 consists of numbers, symbols, and other objects that do not have subparts.
• Level corresponds to the whole expression.
• With the option setting , MapIndexed also applies to heads of expressions and their parts.
• MapIndexed traverses the parts of expr in a depth-first order, with leaves visited before roots. »
• MapIndexed always effectively constructs a complete new expression and then evaluates it.
• MapIndexed works on SparseArray objects, effectively by applying Normal to them.
• MapIndexed works on Association objects, giving part specifications in the form Key[k].
• MapIndexed[f][expr] is equivalent to MapIndexed[f,expr].

ExamplesExamplesopen allclose all

Basic Examples  (6)Basic Examples  (6)

 In[1]:=
 Out[1]=

gives the indices of each part:

 In[1]:=
 Out[1]=
 In[1]:=
 Out[1]=
 In[2]:=
 Out[2]=

Map over an association:

 In[1]:=
 Out[1]=

Map over nested associations:

 In[1]:=
 Out[1]=

Use the operator form of MapIndexed:

 In[1]:=
 Out[1]=