Rearranging & Restructuring Lists

The Wolfram Language encapsulates in a small number of functions vast flexibility in rearranging lists with any structure and any number of elements.

ReferenceReference

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

Catenate catenate elements from a list of lists

ArrayFlatten  ▪  ArrayReshape  ▪  FlattenAt  ▪  Sequence

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

ArrayResample resample an array to higher or lower resolution

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

DeleteDuplicatesBy delete elements for which values of a function are duplicated

Tuples  ▪  Subsets  ▪  Permutations  ▪  RandomSample

SplitBy, GatherBy split, gather based on values of a function applied to elements

Union  ▪  Intersection  ▪  Complement

Element-Oriented Operations »

ReplacePart  ▪  Take  ▪  Drop  ▪  Append  ▪  AppendTo