MathGroup Archive 2006

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

Search the Archive

Re: finding the position of a pattern in list


On Feb 23, 2006, at 12:34 AM, Gang Ma wrote:

> Hi,
> I am working on a program to do the following: My data is a list of 0
> and 1. For example, {0,0,1,1,1,0,0,1,1,1,0}. I want to find the
> positions of all the pattern of {0,1}.  In my previous example, the
> first {0,1} is at 2 and and the second {0,1} appears at 7. I can
> write a loop to do this, but I have several thousands such lists,
> the computation will be time consuming using loop.
>
> My question is whether it is possible to use the pattern match to do
> this quickly.  If not for the list, do I need to convert the list to
> string then use some pattern match for string?  Thank you very much.
>
> regards,
>
> Gang Ma
>
>

Here is a newbie approach:

In[2]:=
Position[Partition[lst, 2,
    1], {0, 1}]
Out[2]=
{{2}, {7}}

János


----------------------------------------------
Trying to argue with a politician is like lifting up the head of a  
corpse.
(S. Lem: His Master Voice)


  • Prev by Date: Re: finding the position of a pattern in list
  • Next by Date: Re: Matrix multiplication problem fixed via dot operation.
  • Previous by thread: Re: finding the position of a pattern in list
  • Next by thread: Re: finding the position of a pattern in list