MathGroup Archive 2010

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

Search the Archive

Re: position of sequence of numbers in list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106996] Re: [mg106976] position of sequence of numbers in list
  • From: Leonid Shifrin <lshifr at gmail.com>
  • Date: Sun, 31 Jan 2010 05:56:21 -0500 (EST)
  • References: <201001301212.HAA25132@smc.vnet.net>

Well,

Sorry for so many posts - apparently I did not include the code for
<myPosition> function mentioned in my second post, while inluded the timings
for it. Here it is:


myPosition =
Compile[{{lst,_Integer,2},{target,_Integer,1},{nresults,_Integer}},
    Module[{i=1,len = Length[lst],positions =
        Table[0,{If[nresults!=-1,nresults,Length[lst]]}],pctr=0,
        lcnresults = If[nresults!=-1,nresults,Length[lst]]},
            While[i<=len&&pctr<lcnresults,
                If[lst[[i++]]==target,positions[[++pctr]]=i-1]];
                Take[positions,pctr]]]


Regards,
Leonid


On Sat, Jan 30, 2010 at 4:12 AM, JB <jkerrb at gmail.com> wrote:

> Hi,
>
> What is the most efficient way to find the position of the beginning
> of a sequence of numbers from a list?
>
> I found a couple of ways:
>
> find 3,4 in list={1,2,3,4,5};
>
>  1.   pos=Intersection[Position[list,3],(Position[list,4])+1]
>
>  2.   pos=Position[Partition[list,2,1],{3,4}]
>
> Are there other ways to do this?
> What is the best way when dealing with large lists?
>
> Thanks,
> JB
>
>



  • Prev by Date: Partition prime list into equal k sublists. How to write code for
  • Next by Date: Prime Rotating Diagram
  • Previous by thread: Re: position of sequence of numbers in list
  • Next by thread: Re: position of sequence of numbers in list