This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

MapIndexed

MapIndexed
applies f to the elements of expr, giving the part specification of each element as a second argument to f.
MapIndexed
applies f to all parts of expr on levels specified by levelspec.
nlevels through n
Infinitylevels 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 Heads->True, 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.
gives the indices of each part:
In[1]:=
Click for copyable input
Out[1]=
 
gives the indices of each part:
In[1]:=
Click for copyable input
Out[1]=
 
In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=
Map at level (default):
Map down to level :
Map at level :
Map down to level :
Map onto all elements of an expression:
Map only onto the "leaves" of the expression:
Negative levels:
Different heads at each level:
Map on levels through ; the head has index :
MapIndexed can be used on expressions with any head:
The function can be mapped onto the heads as well:
MapIndexed works on sparse arrays:
By default, the function is not mapped onto the heads:
Map onto the heads at all levels:
Label parts by position:
Use tooltips to show part numbers of subexpressions:
Convert a list to a polynomial:
Rotate lists based on position:
Obtain a list of all parts in an expression:
Leaves are visited before roots:
Using only the first argument is equivalent to using Map:
New in 2