MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: DeleteCases

  • To: mathgroup at smc.vnet.net
  • Subject: [mg98166] Re: DeleteCases
  • From: Raffy <raffy at mac.com>
  • Date: Wed, 1 Apr 2009 05:55:53 -0500 (EST)
  • References: <gqsn69$3qp$1@smc.vnet.net>

On Mar 31, 2:19 am, Filippo Miatto <sottosupr... at gmail.com> wrote:
> Dear all,
> Given this example list:
>
> {{0, 0, 1, 1}, {0, 0, 2, 2}, {0, 0, 3, 3}, {1, 1, 0, 0}, {1, 1, 2, 2}, =
 
> {1, 1, 3, 3}, {2, 2, 0, 0}, {2, 2, 1, 1}, {2, 2, 3, 3}, {3, 3, 0, 0},  
> {3, 3, 1, 1}, {3, 3, 2, 2}}
>
> I need the elements {a,a,b,b} and {b,b,a,a} to be the same, i.e. i  
> want to delete one of the two occurrences from the list. (or all but  
> one if the condition is more complicated, say {a,b,c,d} and {b,a,c,d}  
> or {a,b,c,d} and {a,b,d,c})
> How can i do that? Can i use DeleteCases? if so, what conditional  
> should I use to compare different elements in the list?
> I tried without success for all the night.. (it's 6.15AM now!)
> Thank you,
>
> Filippo

sameQ[_,_] = False;
sameQ[{x_, x_, y_, y_}, {y_, y_, x_, x_}] = True;

m = {{0, 0, 1, 1}, {0, 0, 2, 2}, {0, 0, 3, 3}, {1, 1, 0, 0}, {1, 1, 2,
     2}, {1, 1, 3, 3}, {2, 2, 0, 0}, {2, 2, 1, 1}, {2, 2, 3, 3}, {3,
    3, 0, 0}, {3, 3, 1, 1}, {3, 3, 2, 2}};

DeleteDuplicates[m, sameQ]

{{0, 0, 1, 1}, {0, 0, 2, 2}, {0, 0, 3, 3}, {1, 1, 2, 2}, {1, 1, 3, 3},
{2, 2, 3, 3}}


  • Prev by Date: Re: DeleteCases
  • Next by Date: Re: DeleteCases
  • Previous by thread: Re: DeleteCases
  • Next by thread: Re: DeleteCases