MathGroup Archive 2002

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

Search the Archive

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


Hi,

something like:

With[{k=3},
Flatten[
  {#[[2]] + c*#[[1]], #[[3]]} & /@ 
   Partition[lst, k, k, {1, 1}],
  1]
]

??

Regards
  Jens

AES wrote:
> 
> 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?