MathGroup Archive 2009

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

Search the Archive

Re: identical rows in tables

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97604] Re: [mg97583] identical rows in tables
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Tue, 17 Mar 2009 04:56:02 -0500 (EST)
  • Reply-to: hanlonr at cox.net

data = {{1, 2, 3, 4, 5, 6, 7, 8},
   {1, 4, 6, 2, 8, 3, 7, 5},
   {1, 4, 2, 6, 3, 8, 5, 7},
   {1, 3, 2, 5, 4, 7, 6, 8},
   {1, 3, 5, 2, 7, 4, 8, 6},
   {1, 8, 7, 6, 5, 4, 3, 2},
   {1, 8, 6, 7, 4, 5, 2, 3},
   {1, 3, 2, 5, 4, 7, 6, 8},
   {1, 3, 5, 2, 7, 4, 8, 6}};

color[x_List] := Style[#, Red] & /@ x

n = -1; If[MemberQ[Take[data, n++], #],
   color[#], #] & /@ data

data2 = FromDigits /@ data

{12345678,14628375,14263857,13254768,13527486,18765432,18674523,13254768,13527486}

n = 0; If[MemberQ[Take[data2, (n++) - 1], #],
   Style[#, Red], #] & /@ data2

data == IntegerDigits /@ data2

True

str = "abc";

StringJoin /@ Permutations@Characters@str

{abc,acb,bac,bca,cab,cba}


Bob Hanlon

---- "King wrote: 

=============
I have a table of values

e.g.{{1, 2, 3, 4, 5, 6, 7, 8}, {1, 4, 6, 2, 8, 3, 7, 5}, {1, 4, 2, 6, 3,
  8, 5, 7}, {1, 3, 2, 5, 4, 7, 6, 8}, {1, 3, 5, 2, 7, 4, 8, 6}, {1, 2,
   4, 3, 6, 5, 8, 7}, {1, 2, 3, 4, 5, 6, 7, 8}}

and want to check if any rows are identical (so there are none in the above=
 - I can remove last or first row which are supposed to be the same).

But in the following {{1, 2, 3, 4, 5, 6, 7, 8}, {1, 4, 6, 2, 8, 3, 7, 5}, {=
1, 4, 2, 6, 3,
  8, 5, 7}, {1, 3, 2, 5, 4, 7, 6, 8}, {1, 3, 5, 2, 7, 4, 8, 6}, {1, 8,
   7, 6, 5, 4, 3, 2}, {1, 8, 6, 7, 4, 5, 2, 3}, {1, 3, 2, 5, 4, 7, 6,
  8}, {1, 3, 5, 2, 7, 4, 8, 6},....}

 there is a pair {1, 3, 2, 5, 4, 7, 6,
  8}, {1, 3, 5, 2, 7, 4, 8, 6} which are the same.

In an ideal world when I print out (in say TableForm)  the repeated rows ca=
n be printed in red (or some specified colour)

These rows are permutations if that makes any difference. The tables can be=
 of any size (but always permutations of n numbers)

as a subsidiary question is there an easy way to convert the tables into nu=
mbers (or strings) eg

{12345678,14628375,14263857 etc}

Alternatively is there an easy way to perform permutations on strings of ch=
aracters?

Many thanks for your help to the multiple questions
ps I am using Mathematica 6.03




  • Prev by Date: Re: identical rows in tables
  • Next by Date: Re: Re: Return Ambiguity
  • Previous by thread: Re: identical rows in tables
  • Next by thread: Re: identical rows in tables