Re: Position within a list
- To: mathgroup at smc.vnet.net
- Subject: [mg32930] Re: Position within a list
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 20 Feb 2002 01:26:09 -0500 (EST)
- Organization: Universitaet Leipzig
- References: <a4t08v$igf$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi, lst = RealDigits[Pi, 10, 10000][[1]]; pp = Position[ Split[lst], First[ Sort[ Select[Split[lst], Length[#] > 2 &], Length[#1] > Length[#2] & ] ] ]; pos = pp[[1, 1]]; i = k = 0; lstpos= Catch[ Scan[ (i++; k += Length[#]; If[i === pos, Throw[k]]) &, Split[lst] ] ] the position if the last 9 in the list of digits is lstpos and should be 768 for six 9 digits. Regards Jens Dana DeLouis wrote: > > Hello. A long time ago someone posted an elegant solution, but I can not > find it in the Archives. > Given a list that may have repeating data, this returned the character that > was repeated the most, and its position.. > > The example given was a list of the first 10,000 digits of Pi. I believe > the answer was that the number 9 was repeated 6 times around position > 700 or 800. > The function was very short and elegant. > I don't believe the Split function was used, but I might be wrong. > > Does anyone know how to do this? Thank you. > > lst = RealDigits[Pi,10,10000][[1]]; > > The list would have... > {3, 1, 4, 1, 5, 9, 2, 6, etc) > > -- > Dana DeLouis > Windows XP & Mathematica 4.1 > = = = = = = = = = = = = = = = = =