Re: Iterate through a list
- To: mathgroup at smc.vnet.net
- Subject: [mg76945] Re: Iterate through a list
- From: David Bailey <dave at Remove_Thisdbailey.co.uk>
- Date: Wed, 30 May 2007 05:28:57 -0400 (EDT)
- References: <f3gqtq$42r$1@smc.vnet.net>
Nick Hoffman wrote: > Hello! I'm (somewhat) new to Mathematica and I need help to iterating > through a list and counting the occurrence of a number. > > My list looks like: > > {{1,0},{1,1},{2,x+x^2+x^4},{2,1+x+x^2+x^4},{4,x+x^2},{4,1+x+x^2},{4,x+x^4},{4,1+x+x^4},{4,x^2+x^4},{4,1+x^2+x^4},{4,x^3+x^4},{4,1+x^3+x^4},{4,x+x^2+x^3+x^4},{4,1+x+x^2+x^3+x^4},{5,x+x^3},{5,1+x+x^3},{5,x^2+x^3},{5,1+x^2+x^3},{5,x+x^3+x^4},{5,1+x+x^3+x^4},{5,x^2+x^3+x^4},{5,1+x^2+x^3+x^4},{8,x},{8,x^2},{8,x^3},{8,x^4},{8,1+x},{8,1+x^2},{8,1+x^3},{8,x+x^2+x^3},{8,1+x+x^2+x^3},{8,1+x^4}} > > > > The number that I would need to keep track of is the first in each sub- > list. > > So for the first couple {{1,0},{1,1},{2,x+x^2+x^4},{2,1+x+x^2+x^4},{4,x > +x^2},........ > > I would need to keep track of 1,1,2,2,4........ > > It will not always be 1,2,4,5,8's. The numbers may be completely > different on each pass. Each sublist may be composed of more items > but the number that I need to keep track of will always be the 1st in > the sub-list. Any help or suggestions that you can give me will be > greatly appreciated. Thanks so much! > This will give you a list of two-element lists. The first element is a number found, and the second is the number of times it occurs: ss = {{1, 1}, {2, 1}, {2, x + y}, {5, x^2 + 2}} Tally[Map[First, ss]] Output: {{1, 1}, {2, 2}, {5, 1}} Note that Tally is new in 6.0, but there are other ways if you have an older version. David Bailey http://www.dbaileyconsultancy.co.uk