Rearranging & Restructuring Lists
Mathematica encapsulates in a small number of functions vast flexibility in rearranging lists with any structure and any number of elements.
Flatten — flatten out any sequence of levels in a nested list
Partition — partition lists or nested lists into sublists
Join — join lists together at any level
Sort — sort lexicographically, or with any comparison function
SortBy — sort by the values of a function applied to elements
Reverse — reverse a list, at any level
RotateLeft,
RotateRight — cyclically rotate lists at any depth
Transpose — transpose any collection of levels
ArrayPad — add padding on each side
Riffle — intersperse additional elements
PadLeft,
PadRight — pad lists to be a particular length at any depth
Split — split into runs of identical elements
Gather — gather sublists of identical elements
Union,
Tally — enumerate, tally all distinct elements in a list
DeleteDuplicates — delete duplicate elements in a list
SplitBy,
GatherBy — split, gather based on values of a function applied to elements