Mathematica Asked by Y.L on September 3, 2021
I have the following list:
i=2
k=3
list = Tuples[Tuples[{0, 1}, i], k]
{{{0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 1}}, {{0, 0}, {0, 0}, {1, 0}}, {{0, 0}, {0, 0}, {1, 1}}, {{0, 0}, {0, 1}, {0,0}}, {{0, 0}, {0, 1}, {0, 1}}, {{0, 0}, {0, 1}, {1, 0}}, {{0, 0}, {0, 1}, {1, 1}}, {{0, 0}, {1, 0}, {0, 0}}, {{0, 0}, {1, 0}, {0, 1}}, {{0, 0}, {1, 0}, {1, 0}}, {{0, 0}, {1, 0}, {1, 1}}, {{0, 0}, {1, 1}, {0, 0}}, {{0, 0}, {1, 1}, {0, 1}}, {{0, 0}, {1, 1}, {1, 0}}, {{0, 0}, {1, 1}, {1, 1}}, {{0, 1}, {0, 0}, {0, 0}}, {{0, 1}, {0, 0}, {0, 1}}, {{0, 1}, {0, 0}, {1, 0}}, {{0, 1}, {0, 0}, {1, 1}}, {{0, 1}, {0, 1}, {0, 0}}, {{0, 1}, {0, 1}, {0, 1}}, {{0, 1}, {0, 1}, {1, 0}}, {{0, 1}, {0, 1}, {1, 1}}, {{0, 1}, {1, 0}, {0, 0}}, {{0, 1}, {1, 0}, {0, 1}}, {{0, 1}, {1, 0}, {1, 0}}, {{0, 1}, {1, 0}, {1, 1}}, {{0, 1}, {1, 1}, {0, 0}}, {{0, 1}, {1, 1}, {0, 1}}, {{0, 1}, {1, 1}, {1, 0}}, {{0, 1}, {1, 1}, {1, 1}}, {{1, 0}, {0, 0}, {0, 0}}, {{1, 0}, {0, 0}, {0, 1}}, {{1, 0}, {0, 0}, {1, 0}}, {{1, 0}, {0, 0}, {1, 1}}, {{1, 0}, {0, 1}, {0, 0}}, {{1, 0}, {0, 1}, {0, 1}}, {{1, 0}, {0, 1}, {1, 0}}, {{1, 0}, {0, 1}, {1, 1}}, {{1, 0}, {1, 0}, {0, 0}}, {{1, 0}, {1, 0}, {0, 1}}, {{1, 0}, {1, 0}, {1, 0}}, {{1, 0}, {1, 0}, {1, 1}}, {{1, 0}, {1, 1}, {0, 0}}, {{1, 0}, {1, 1}, {0, 1}}, {{1, 0}, {1, 1}, {1, 0}}, {{1, 0}, {1, 1}, {1, 1}}, {{1, 1}, {0, 0}, {0, 0}}, {{1, 1}, {0, 0}, {0, 1}}, {{1, 1}, {0, 0}, {1, 0}}, {{1, 1}, {0, 0}, {1, 1}}, {{1, 1}, {0, 1}, {0, 0}}, {{1, 1}, {0, 1}, {0, 1}}, {{1, 1}, {0, 1}, {1, 0}}, {{1, 1}, {0, 1}, {1, 1}}, {{1, 1}, {1, 0}, {0, 0}}, {{1, 1}, {1, 0}, {0, 1}}, {{1, 1}, {1, 0}, {1, 0}}, {{1, 1}, {1, 0}, {1, 1}}, {{1, 1}, {1, 1}, {0, 0}}, {{1, 1}, {1, 1}, {0, 1}}, {{1, 1}, {1, 1}, {1, 0}}, {{1, 1}, {1, 1}, {1, 1}}}
I would like to remove redundant element, like "{{0, 1}, {0, 0}, {0, 0}}" since they have the same value like "{{1, 0}, {0, 0}, {0, 0}}". The "{{0, 0}, {0, 0}, {0, 0}}" element should be removed as well. Elements like "{{1, 1}, {0, 0}, {0, 0}}" are not equal to "{{0, 0}, {1, 1}, {0, 0}}" though. Note that the inner subsets are of size $i$ which are elements in subsets of size $k$.
Maybe the list should be created differently? How can I make this happen? The goal is to get it for any $i$ and $k$ in general.
For example, instead of
list = Tuples[Tuples[{0, 1}, 2], 2]
{{{0, 0}, {0, 0}}, {{0, 0}, {0, 1}}, {{0, 0}, {1, 0}}, {{0, 0}, {1,
1}}, {{0, 1}, {0, 0}}, {{0, 1}, {0, 1}}, {{0, 1}, {1, 0}}, {{0,
1}, {1, 1}}, {{1, 0}, {0, 0}}, {{1, 0}, {0, 1}}, {{1, 0}, {1,
0}}, {{1, 0}, {1, 1}}, {{1, 1}, {0, 0}}, {{1, 1}, {0, 1}}, {{1,
1}, {1, 0}}, {{1, 1}, {1, 1}}}
a possible output is:
{{{0, 0}, {1, 0}}, {{0, 0}, {1, 1}}, {{1, 0}, {0, 0}}, {{1, 0}, {1,
0}}, {{1, 0}, {1, 1}}, {{1, 1}, {0, 0}}, {{1, 1}, {1, 0}}, {{1,
1}, {1, 1}}}
With[{i = 2, k = 3},
DeleteCases[
Tuples[DeleteDuplicatesBy[Tuples[{0, 1}, i], Sort], k],
ConstantArray[0, {k, i}]
]]
Result:
{{{0, 0}, {0, 0}, {0, 1}}, {{0, 0}, {0, 0}, {1, 1}}, {{0, 0}, {0,
1}, {0, 0}}, {{0, 0}, {0, 1}, {0, 1}}, {{0, 0}, {0, 1}, {1,
1}}, {{0, 0}, {1, 1}, {0, 0}}, {{0, 0}, {1, 1}, {0, 1}}, {{0,
0}, {1, 1}, {1, 1}}, {{0, 1}, {0, 0}, {0, 0}}, {{0, 1}, {0, 0}, {0,
1}}, {{0, 1}, {0, 0}, {1, 1}}, {{0, 1}, {0, 1}, {0, 0}}, {{0,
1}, {0, 1}, {0, 1}}, {{0, 1}, {0, 1}, {1, 1}}, {{0, 1}, {1, 1}, {0,
0}}, {{0, 1}, {1, 1}, {0, 1}}, {{0, 1}, {1, 1}, {1, 1}}, {{1,
1}, {0, 0}, {0, 0}}, {{1, 1}, {0, 0}, {0, 1}}, {{1, 1}, {0, 0}, {1,
1}}, {{1, 1}, {0, 1}, {0, 0}}, {{1, 1}, {0, 1}, {0, 1}}, {{1,
1}, {0, 1}, {1, 1}}, {{1, 1}, {1, 1}, {0, 0}}, {{1, 1}, {1, 1}, {0,
1}}, {{1, 1}, {1, 1}, {1, 1}}}
For the 2,2 case, the result is:
{{{0, 0}, {0, 1}}, {{0, 0}, {1, 1}}, {{0, 1}, {0, 0}}, {{0, 1}, {0,
1}}, {{0, 1}, {1, 1}}, {{1, 1}, {0, 0}}, {{1, 1}, {0, 1}}, {{1,
1}, {1, 1}}}
... which is the same as your expected output, if you're willing to apply Map[Sort,expected,{2}]
to change {1,0}
into {0,1}
Correct answer by flinty on September 3, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP