- In a numerical list, Ordering[list,n] gives the positions of the n smallest elements. Ordering[list,-n] gives the positions of the n largest elements.
- If there are several smallest elements in list, Ordering[list,1] will give only the position of the one that appears first.
- list[[Ordering[list]]] is the same as Sort[list].
- Ordering[list,seq] is equivalent to Take[Ordering[list],seq].
- Ordering[list,UpTo[n]] returns n positions, or as many as are available.
- Ordering[list,All,p] gives the position at which all elements of list appear in Sort[list,p].
- Ordering can be used on expressions with any head, not only List.
Examplesopen allclose all
Basic Examples (4)
Find the ordering that sorts a list:
Find the positions of the 4 smallest elements in a list:
Find the position of the largest element:
Find the ordering of values in an Association:
Find a permutation that sorts a list:
Find the inverse of a permutation:
Sort a list of lists with respect to a particular position:
The same as Sort, but Ordering keeps the original ordering when elements are the same:
Using Ordering this way is much faster for large sets of lists:
Properties & Relations (2)
Find the position of the maximum element:
list[[Ordering[list]]] is equivalent to Sort[list]:
Wolfram Research (2000), Ordering, Wolfram Language function, https://reference.wolfram.com/language/ref/Ordering.html (updated 2015).
Wolfram Language. 2000. "Ordering." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/Ordering.html.
Wolfram Language. (2000). Ordering. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Ordering.html