Re: How Do You Reduce Multiple Elements in a List?
- To: mathgroup at smc.vnet.net
- Subject: [mg33875] Re: How Do You Reduce Multiple Elements in a List?
- From: bghiggins at ucdavis.edu (Brian Higgins)
- Date: Sun, 21 Apr 2002 06:12:22 -0400 (EDT)
- References: <a9r3ve$ltc$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Bob, Here are some possibilities: mylist = {1, 1, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 4, 4}; In[32]:=Map[{#[[1]], Length[#]} &, Split[mylist]] Out[32]={{1, 5}, {2, 3}, {4, 6}} In[31]:=Split[mylist] /. {x__Integer} :> {First[{x}], Length[{x}]} Out[31]={{1, 5}, {2, 3}, {4, 6}} Cheers, Brian Bob Harris <nitlion at mindspring.com> wrote in message news:<a9r3ve$ltc$1 at smc.vnet.net>... > Howdy, > > This seems like such a simple thing, yet I've search through the big book > trying to figure it out. Perhaps someone can help me... > > Given a list of integers that generally contains the same number many times, > I'd like to reduce it to a list that just gives me the number/count pairs. > For example, I'd like to convert the list > {1, 1, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 4, 4} > into > {{1,5}, {2,3}, (4,6}} > > Is there a built-in function to do this? Seems like a histogramming > operation, but I get no useful matches from ?*Hist*. > > Thanks, > Bob H