Tuples
Tuples(list, n)
creates a list of all
n
-tuples of elements inlist
.
Tuples({list1, list2, ...})
returns a list of tuples with elements from the given lists.
See
Examples
>> Tuples({a, b, c}, 2){{a,a},{a,b},{a,c},{b,a},{b,b},{b,c},{c,a},{c,b},{c,c}}
>> Tuples[{{a, b}, {1, 2, 3}}]{{a,1},{a,2},{a,3},{b,1},{b,2},{b,3}}
>> Thread(Tuples({0, 1}, 2) -> {a, b, c, d}){{0,0}->a,{0,1}->b,{1,0}->c,{1,1}->d}
The head of list need not be List
:
>> Tuples(f(a, b, c), 2){f(a,a),f(a,b),f(a,c),f(b,a),f(b,b),f(b,c),f(c,a),f(c,b),f(c,c)}
However, when specifying multiple expressions, List
is always used:
>> Tuples({f(a, b), g(x, y)}){{a,x},{a,y},{b,x},{b,y}}
Implementation status
- ✅ - full supported