Re: List difference using patterns and substitutions.
- To: mathgroup at smc.vnet.net
- Subject: [mg71347] Re: [mg71306] List difference using patterns and substitutions.
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Wed, 15 Nov 2006 06:44:29 -0500 (EST)
- References: <200611141006.FAA06710@smc.vnet.net>
On 14 Nov 2006, at 19:06, Nacho wrote: > Hello. > > I'm trying to figure how can I build a difference list from another > using only patterns and rule substitutions. > > The idea is to get from a list, another, one element shorter, where > each value is the substraction of two consecutive elements in the > original list, that is, from {1,2,3,5,5} get {1,1,2,0}. > > I've been thinking about it for a while, and I know several methods > using a more traditional programming style (with For, for example), > but > I have no idea if it is possible to make it simple and fast with rule > substitutions. > > Any idea? > > Thanks in advance. > Rules and substitutions are not the best approach in this case. Built- in functions are. You can do it using just a single built-in function: ListConvolve[{1,-1},{1,2,3,5,5}] {1,1,2,0} or slightly longer (but perhaps easier to understand) code: Most[(RotateLeft[#]-#)&[{1,2,3,5,5}]] {1,1,2,0} Andrzej Kozlowski
- References:
- List difference using patterns and substitutions.
- From: "Nacho" <ncc1701zzz@gmail.com>
- List difference using patterns and substitutions.