Re: DeleteCases
- To: mathgroup at smc.vnet.net
- Subject: [mg98189] Re: DeleteCases
- From: Simon <simonjtyler at gmail.com>
- Date: Wed, 1 Apr 2009 06:00:13 -0500 (EST)
- References: <gqsn69$3qp$1@smc.vnet.net>
Hi Filippo, the examples you give can be covered by using a ReplaceRepeated... the below examples will delete the second occurrence, but are simply modified. In[1]:= {{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}}//.{x___, {a_,a_,b_,b_},y___,{b_,b_,a_,a_},z___}:>{x,{a,a,b,b},y,z} Out[1]= {{0,0,1,1},{0,0,2,2},{0,0,3,3},{1,1,2,2},{1,1,3,3},{2,2,3,3}} or In[2]:= {{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}}//. {x___,a_List,y___,b_List,z___}/;a==Reverse[b]:>{x,a,y,z} Out[2]= {{0,0,1,1},{0,0,2,2},{0,0,3,3},{1,1,2,2},{1,1,3,3},{2,2,3,3}} Simon On Mar 31, 5:19 pm, 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