sorts the elements of list into canonical order.
sorts using the ordering function p.
- Sort by default orders integers, rational, and approximate real numbers by their numerical values.
- Sort orders complex numbers by their real parts, and in the event of a tie, by the absolute values of their imaginary parts. If a tie persists, they are ordered by their imaginary parts.
- Sort orders symbols by their names, and in the event of a tie, by their contexts.
- Sort usually orders expressions by putting shorter ones first, and then comparing parts in a depth‐first manner.
- Sort treats powers and products specially, ordering them to correspond to terms in a polynomial.
- Sort orders strings as in a dictionary, with uppercase versions of letters coming after lowercase ones. Sort places ordinary letters first, followed in order by script, Gothic, double‐struck, Greek, and Hebrew. Mathematical operators appear in order of decreasing precedence.
- Sort[list,p] applies the ordering function p to pairs of elements in list to determine whether they are in order. The default function p is Order.
- The ordering function p applied to a pair of elements e1, e2 may return either 1, 0, -1 or True, False. The value of p[e1,e2] is interpreted as follows:
1 e1 comes before e2 0 e1 and e2 should be treated as identical -1 e1 comes after e2 True e1 and e2 are in order False e1 and e2 are out of order
- If the ordering function p returns a value p[e1,e2] other than the preceding ones, then e1 and e2 are effectively treated as being in order.
- Sort can be used on expressions with any head, not only List.
Examplesopen allclose all
Basic Examples (4)
Sort works with any head, not just List:
Sort elements in an Association according to their values:
Sort using Greater as the ordering function:
Use GreaterEqual to maintain the relative order of equal elements:
Use NumericalOrder to allow complex numbers and number-like expressions:
Sort according to the rules of a particular language with AlphabeticOrder:
Define a custom ordering function that puts symbols ahead of numbers:
Properties & Relations (7)
Possible Issues (2)
Numeric expressions are sorted by structure as well as numerical value:
This order follows the normal rules for expressions based on their FullForm:
Elements whose order is not determined by the ordering function may not be kept in order:
Wolfram Research (1988), Sort, Wolfram Language function, https://reference.wolfram.com/language/ref/Sort.html (updated 2017).
Wolfram Language. 1988. "Sort." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/Sort.html.
Wolfram Language. (1988). Sort. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Sort.html