MathGroup Archive 2011

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

Search the Archive

Re: Pure functions and Select[] sequential elements of list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg119306] Re: Pure functions and Select[] sequential elements of list
  • From: Ray Koopman <koopman at sfu.ca>
  • Date: Mon, 30 May 2011 06:33:30 -0400 (EDT)
  • References: <irtb73$plj$1@smc.vnet.net>

On May 29, 4:38 am, "McHale, Paul" <Paul.McH... at excelitas.com> wrote:
> Hi,
>
> Does anyone know of a way to use a pure function to access current
> and next element of list with uses like Select[]?  I know I might
> be dazed and confused, but I thought there was a way.  I.e.
>
> mList={1,2,3,4,5,7,6,8};
> Select[mList, (#? > #??)&]
>
> Where #? Is element N and #?? Is element N+1.  I would expect
> the previous code (assuming N?, N?? were valid) to return 7.
>
> Maybe there is no way to do this with a pure function.  I know
> there are many other ways.  This would be one more way to not
> require a looping construct to resolve this.  If someone knows
> of straightforward ways other than Table[] or For[], Do[]...
> looping contructs, I would appreciate it the general knowledge.
> I constantly struggle against my C language beginning ;)

There are many ways to do this. Probably the simplest (but
not the fastest) is to Partition the list using an offset:

First /@ Select[ Partition[mList,2,1], #[[1]] > #[[2]]& ]


  • Prev by Date: Export["...",...,"GIF"] results in nonreadable gif file
  • Next by Date: Re: A question about a sphere
  • Previous by thread: Re: Pure functions and Select[] sequential elements of list
  • Next by thread: Re: Pure functions and Select[] sequential elements of list