TransWikia.com

Remove or delete elements

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}}}

One Answer

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

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP