Operating on every k-th element of list?
- To: mathgroup at smc.vnet.net
- Subject: [mg37080] Operating on every k-th element of list?
- From: AES <siegman at stanford.edu>
- Date: Tue, 8 Oct 2002 07:17:49 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
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???