Re: List operations

*To*: mathgroup at smc.vnet.net*Subject*: [mg57992] Re: List operations*From*: dh <dh at metrohm.ch>*Date*: Thu, 16 Jun 2005 05:35:48 -0400 (EDT)*References*: <d8oujp$t95$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Hi Anton, to get the words: We extract the structure: t = Map[0 &, lst, {3}] then we mark the positions: t = MapAt[1 &, t, {{2, 2, 2}, {5, 1, 2}}] // Flatten then we get the position number t = Position[t, 1] // Flatten and finally we calculate the distance: t[[2]] - t[[1]] + 1 all together for words: t = Map[0 &, lst, {3}] t = MapAt[1 &, t, {{2, 2, 2}, {5, 1, 2}}] // Flatten t = Position[t, 1] // Flatten t[[2]] - t[[1]] + 1 analogously for sentences: t = Map[0 &, lst, {2}] t = MapAt[1 &, t, {{2, 2}, {5, 1}}] // Flatten t = Position[t, 1] // Flatten t[[2]] - t[[1]] + 1 number of chapters can be calculated directly from the positions: 5-2+1 sincerely, Daniel Huber hrocht at mail15.com wrote: > suppose i have a list containing a whole book, the list will contain > words, sentences, chapters; as an example: > lst={{{"abc","def"},{"as","red"}},{{"fat","qqq","qqq"}, > {"asd","asd","vbn"}},{{"zz","zz"}},{{"zz","wtt","wtt"}},{{"red","zz"}, > {"sd","ed"},{"er","to"}},{{"ww","ww","dff"},{"as","end"}}} > > please check sometimes some servers may insert the false "-" letter > in the above lst. > > here is the book lst contains six chapters, 11 sentences, > the question is: what are the general methods wich could be used to > know how many words, and how many sentences and how many chapters > between an arbitrary two words in the book such as an example: > between the word number 2 in sentence 2 in chapter 2 > and the word number 2 in sentence 1 in chapter 5 > > ie: > wrd1=lst[[2]][[2]][[2]] > wrd2=lst[[5]][[1]][[2]] > > the results will be: if we count the 2 words and their own sentences > and chapters: > 9 words, 4 sentences, 4 chapters. > reards. > Anton >