MapIndexed
✖
MapIndexed
applies f to the elements of expr, giving the part specification of each element as a second argument to f.
Details and Options

- MapIndexed uses standard level specifications:
-
n levels 1 through n Infinity levels 1 through Infinity {n} level n only {n1,n2} levels n1 through n2 - The default value for levelspec in MapIndexed 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, MapIndexed also applies to heads of expressions and their parts.
- 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].
- Parallelize[MapIndexed[f,expr]] computes MapIndexed[f,expr] in parallel on all subkernels. »
Examples
open allclose allBasic Examples (6)Summary of the most common use cases

https://wolfram.com/xid/09belp27i-d6p

#2 gives the indices of each part:

https://wolfram.com/xid/09belp27i-fhq


https://wolfram.com/xid/09belp27i-bxu


https://wolfram.com/xid/09belp27i-ynf


https://wolfram.com/xid/09belp27i-gwknyf


https://wolfram.com/xid/09belp27i-f1s871

Use the operator form of MapIndexed:

https://wolfram.com/xid/09belp27i-dlfrce

Scope (6)Survey of the scope of standard use cases
Level Specifications (6)

https://wolfram.com/xid/09belp27i-m34


https://wolfram.com/xid/09belp27i-n3o


https://wolfram.com/xid/09belp27i-vzc


https://wolfram.com/xid/09belp27i-jva

Map onto all elements of an expression:

https://wolfram.com/xid/09belp27i-mgx

Map only onto the "leaves" of the expression:

https://wolfram.com/xid/09belp27i-xyv


https://wolfram.com/xid/09belp27i-knq


https://wolfram.com/xid/09belp27i-lg9


https://wolfram.com/xid/09belp27i-n1h

Different heads at each level:

https://wolfram.com/xid/09belp27i-jn

Map on levels 0 through 1; the head has index {}:

https://wolfram.com/xid/09belp27i-jdn

Generalizations & Extensions (3)Generalized and extended use cases
MapIndexed can be used on expressions with any head:

https://wolfram.com/xid/09belp27i-r7z

The function can be mapped onto the heads as well:

https://wolfram.com/xid/09belp27i-j2f

MapIndexed works on sparse arrays:

https://wolfram.com/xid/09belp27i-u0b

Options (2)Common values & functionality for each option
Applications (5)Sample problems that can be solved with this function

https://wolfram.com/xid/09belp27i-xkm


https://wolfram.com/xid/09belp27i-cnf

Use tooltips to show part numbers of subexpressions:

https://wolfram.com/xid/09belp27i-jzo

Convert a list to a polynomial:

https://wolfram.com/xid/09belp27i-dud

Rotate lists based on position:

https://wolfram.com/xid/09belp27i-xex


https://wolfram.com/xid/09belp27i-tds

Obtain a list of all parts in an expression:

https://wolfram.com/xid/09belp27i-n04nq4


https://wolfram.com/xid/09belp27i-dusheg

Properties & Relations (3)Properties of the function, and connections to other functions
Using only the first argument is equivalent to using Map:

https://wolfram.com/xid/09belp27i-62y4d0


https://wolfram.com/xid/09belp27i-ghbs08

The result of MapIndexed on an association is closely related to the result of KeyValueMap:

https://wolfram.com/xid/09belp27i-opegmy


https://wolfram.com/xid/09belp27i-151daf

Use a combination of Values and Part to obtain the same result:

https://wolfram.com/xid/09belp27i-kb0z49

Compute MapIndexed in parallel:

https://wolfram.com/xid/09belp27i-ci4udx

Wolfram Research (1991), MapIndexed, Wolfram Language function, https://reference.wolfram.com/language/ref/MapIndexed.html (updated 2014).
Text
Wolfram Research (1991), MapIndexed, Wolfram Language function, https://reference.wolfram.com/language/ref/MapIndexed.html (updated 2014).
Wolfram Research (1991), MapIndexed, Wolfram Language function, https://reference.wolfram.com/language/ref/MapIndexed.html (updated 2014).
CMS
Wolfram Language. 1991. "MapIndexed." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/MapIndexed.html.
Wolfram Language. 1991. "MapIndexed." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/MapIndexed.html.
APA
Wolfram Language. (1991). MapIndexed. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MapIndexed.html
Wolfram Language. (1991). MapIndexed. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MapIndexed.html
BibTeX
@misc{reference.wolfram_2025_mapindexed, author="Wolfram Research", title="{MapIndexed}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/MapIndexed.html}", note=[Accessed: 15-May-2025
]}
BibLaTeX
@online{reference.wolfram_2025_mapindexed, organization={Wolfram Research}, title={MapIndexed}, year={2014}, url={https://reference.wolfram.com/language/ref/MapIndexed.html}, note=[Accessed: 15-May-2025
]}