Re: Match Pairs of Numbers
- To: mathgroup at smc.vnet.net
- Subject: [mg86921] Re: [mg86879] Match Pairs of Numbers
- From: János <janos.lobb at yale.edu>
- Date: Wed, 26 Mar 2008 04:53:57 -0500 (EST)
- References: <200803250614.BAA10496@smc.vnet.net>
On Mar 25, 2008, at 2:14 AM, Andrew Beveridge wrote:
> Any help would be appreciated.
>
> I am using Mathematica 5.2 & 6.0
>
> I am having trouble finding the correct form of Pattern Matching for
> pairs of Numbers. I do not know whether to use Select, Cases, Pick,
> etc. I am also unsure how to set the pattern matching argument.
>
> Assume I have the list
>
> lst = {{1,1}, {1,2}, {1,3}, {1,4}, {2,2}, {3,1}, {3,2}, {3,3},
> {4,1}, {4,4}}
>
>
> I would like to match/select pairs that have the same set of numbers
> only reversed, that is, the selection would find
>
> {{1,3}, {3,1}, {1,4}, {4,1} }
>
> Thanks for your help
>
>
> Andrew C Beveridge
> MS M888
> Los Alamos National Laboratory
> Los Alamos, NM 87545
>
> 505-665-2092
> e-mail: acbev at lanl.gov
>
Here is an algo-rhythmic newbie approach :)
> In[2]:=
> Last[Reap[While[
> Length[lst] >= 1,
> i = Random[Integer,
> {1, Length[lst]}];
> c = lst[[i]];
> rc = Reverse[c];
> If[Length[Position[lst,
> rc]] > 0 &&
> c != rc,
> Sow[{c, rc}]; , Null];
> lst = Delete[lst,
> Position[lst, rc]];
> lst = Delete[lst,
> Position[lst, c]]; ]]]
> Out[2]=
> {{{{4, 1}, {1, 4}},
> {{3, 1}, {1, 3}}}}
J=E1nos
----------------------------------------------
Trying to argue with a politician is like lifting up the head of a
corpse.
(S. Lem: His Master Voice)
- References:
- Match Pairs of Numbers
- From: Andrew Beveridge <acbev@lanl.gov>
- Match Pairs of Numbers