List of multiple elements
- To: mathgroup at smc.vnet.net
- Subject: [mg112040] List of multiple elements
- From: "Dr. Wolfgang Hintze" <weh at snafu.de>
- Date: Thu, 26 Aug 2010 06:48:34 -0400 (EDT)
Given the list
a={1,1,2,1,2};
we can reduce multiple instances of elements using
b=Union[a]
{1,2}
The question is now how to compute the list of multiple elements.
In our example this would be m={1,1,2}.
A possible solution is
m[x_]:= Flatten[Take[#, {1, Length[#] - 1}] & /@ Select[Split[x],
Length[#] > 1 &]]
m[a]
{1,1,2}
I'm sure there is a much more elegant solution. Can you suggest one?
Remark
m[a] can be viewed as a kind of difference: m[a] = a "MINUS" Union[a]
Inverting gives the "SUM": a = m[a] "PLUS" Union[a] =
Join[m[a],Union[a]]
Regards,
Wolfgang