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: [mg107008] Re: position of sequence of numbers in list
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Sun, 31 Jan 2010 05:58:34 -0500 (EST)

On 1/30/10 at 7:12 AM, jkerrb at gmail.com (JB) wrote:

>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}]

note this will fail if the things searched for are not
sequential. That is:

In[1]:= list = {1, 2, 3, 4, 5};

In[2]:= pos = Position[Partition[list, 2, 1], {1, 4}]

Out[2]= {}

>Are there other ways to do this? What is the best way when dealing
>with large lists?

Here is another way to the task

In[3]:= theList = RandomInteger[100, 5]

Out[3]= {94,40,22,10,40}

In[4]:= Pick[Range@Length@theList, theList, Alternatives @@ {10, 22}]

Out[4]= {3,4}

and for non-sequential items

In[5]:= Pick[Range@Length@theList, theList, Alternatives @@ {94, 22}]

Out[5]= {1,3}



  • Prev by Date: Re: position of sequence of numbers in list
  • Next by Date: Re: Problem with ContourPlot3D
  • Previous by thread: Re: Re: position of sequence of numbers in list
  • Next by thread: Re: position of sequence of numbers in list