Re: Handling conditions on subvector elements

• To: mathgroup at smc.vnet.net
• Subject: [mg117575] Re: Handling conditions on subvector elements
• From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
• Date: Wed, 23 Mar 2011 02:54:25 -0500 (EST)

```Hi,

your condition is not really clear since it is not expressed, what
should happen in the case of {1,2,2}. But I assume that should help you
anyway

v = {{1, 1, 2}, {1, 1, 3}, {2, 3, 1}, {1, 2, 3}, {3, 3, 1}}
v /. {a_, b_, c_} :> Which[a === b && b =!= c, 1, True, 2]

Out[5]= {{1, 1, 2}, {1, 1, 3}, {2, 3, 1}, {1, 2, 3}, {3, 3, 1}}

Out[6]= {1, 1, 2, 2, 1}

Cheers
Patrick

On Tue, 2011-03-22 at 05:05 -0500, Lengyel Tamas wrote:
> Dear Mathworld users,
>
> I am struggling with a piece of code which should result in a List :
>
> 1) I have a vector with subvectors with triplets of values.
> 2) What I wish to achieve is a cycle that returns with a List with either
> '1's or '2's in it.
> 3) The cycle should check whether the first and second element in
> subvectors are equal and neither of them are equal with the third, if so,
> return 1;
>    If all the elements are unequal, return 2
>
> E.g.
>
> V= {{1,1,2},{1,1,3},{2,3,1},{1,2,3},{3,3,1}} should return with {1, 1, 2,
> 2,1}
>
> I'm assuming 'If' should be the key (as it returns 2 types of values), but
> I can't seem to do it properly.
>