MathGroup Archive 2006

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

Search the Archive

Re: finding the position of a pattern in list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg64615] Re: finding the position of a pattern in list
  • From: dh <dh at metrohm.ch>
  • Date: Fri, 24 Feb 2006 00:18:10 -0500 (EST)
  • References: <dtjjcv$de7$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,
a simple solution would be to subtract adjacent elemnts and then search 
for +1.
E.g.:

d = {0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0};
t = Drop[d, 1] - Drop[d, -1]
Position[t, 1] // Flatten

Daniel


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


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