WolframLang: List Combinatorics

By Xah Lee. Date: . Last updated: .
Tuples
  • Tuples[ list, n]
  • and more

return all possible n-tuples.

Tuples
Tuples[ {1,2,3}, 2] ===
{{1, 1}, {1, 2}, {1, 3}, {2, 1}, {2, 2}, {2, 3}, {3, 1}, {3, 2}, {3, 3}}
Subsets
  • Subsets[list] → all subsets.
  • Subsets[list, n] → max subset length n.
  • Subsets[list, {n}] → subset length exactly n.
  • Subsets[list, {n, m}] → subset length n to m.
  • Subsets[list, spec, s] → first s subsets.

return all possible subsets

Subsets
xx = {1,2,3};

Subsets[xx] ===
{{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}

(* max length n in each subset. *)
Subsets[xx, 2] ===
{{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}}

(* exact length n in each subset. *)
Subsets[xx, {2}] ===
{{1, 2}, {1, 3}, {2, 3}}

(* length n to m in each subset. *)
Subsets[xx, {2,3}] ===
{{1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}

(* just first 4 subsets. *)
Subsets[xx, 2, 5] ===
{{}, {1}, {2}, {3}, {1, 2}}
Permutations
Permutations

List Operations