MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Operating on every k-th element of list?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg37084] Re: Operating on every k-th element of list?
  • From: "Borut L" <gollum at email.si>
  • Date: Wed, 9 Oct 2002 05:25:29 -0400 (EDT)
  • References: <anufl8$ap2$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hello,

Consider the following approach, whish uses the MapAt command, that is Map
with 'mapping-position' control.

dummyFun={#,trueFun@#}&

list={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}

spec=Partition[Range[3,Length[list],3],1]

MapAt[dummyFun,list,spec]

%//Flatten


Hope that is what you want,

Borut



"AES" <siegman at stanford.edu> wrote in message
news:anufl8$ap2$1 at smc.vnet.net...
| I want to apply a function to every  k-th  element of a long list and
| add the result to the  k+1  element.
|
| [Actually  k = 3  and I just want to multiply  myList[[k]]  by a
| constant (independent of k)  and add the result to  myList[[k+1]]  for
| every value of  k  that's divisible by 3.]
|
| Is there a way to do this -- or in general to get at every  k-th
| element of a list -- that's faster and more elegant than writing a brute
| force  Do[]  loop or using  Mod[]  operators, and that will take
| advantage of native List operators,  but still not be too recondite?
|
| I've been thinking about multiplying a copy of  myList  by a "mask list"
| {0,0,1,0,0,1,..} to generate a "masked copy" and approaches like that.
| Better ways???
|




  • Prev by Date: Re: Operating on every k-th element of list?
  • Next by Date: Re: Operating on every k-th element of list?
  • Previous by thread: Re: Operating on every k-th element of list?
  • Next by thread: Re: Operating on every k-th element of list?