Re: Extract values and multilpicities from list
- To: mathgroup at smc.vnet.net
- Subject: [mg64861] Re: Extract values and multilpicities from list
- From: "Scout" <Scout at nodomain.com>
- Date: Mon, 6 Mar 2006 05:01:05 -0500 (EST)
- References: <due96k$ach$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
"Dr. Wolfgang Hintze" <weh at snafu.de>
> Given a list of integers which may repeat, e.g.
>
> lstIn = {2,3,4,4,2,1,1,5,4}
>
> provide a list of different values and their respective multiplicities,
> in the example,
>
> LstOut= {{1,2},{2,2},{3,1},{4,3},{5,1}}
>
> Who finds the shortest function doing this task in general?
>
> Thanks.
>
> Best regards,
> Wolfgang
>
Well,
an elegant and probably shortest function, using the Split[] command is:
runLength[a_List] := {First[#], Length[#]} & /@ Split[Sort[a]];
Regards,
~Scout~