Re: finding the position of a pattern in list
- To: mathgroup at smc.vnet.net
- Subject: [mg64624] Re: finding the position of a pattern in list
- From: "dennis" <dwangsness at earthlink.net>
- Date: Fri, 24 Feb 2006 00:18:23 -0500 (EST)
- References: <dtjjcv$de7$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
The Partition function combined with Position works.
if d is your data and pat is your pattern try
Position[Partition[d,2,1],pat]
You can Flatten the result to get rid of the brackets if you want.
Dennis
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