Re: Pattern matching in lists
- To: mathgroup at smc.vnet.net
- Subject: [mg116116] Re: Pattern matching in lists
- From: Leonid Shifrin <lshifr at gmail.com>
- Date: Wed, 2 Feb 2011 07:03:45 -0500 (EST)
Hi Harvey,
Here is one way:
In[1]:= sequenceMemberQ[target_List, seq_List] :=
MemberQ[Partition[target, Length[seq], 1], seq]
In[2]:= sequenceMemberQ[{1, 3, 2, 6, 5, 1, 4, 6, 3, 9}, {1, 4, 6}]
Out[2]= True
Regards,
Leonid
On Wed, Feb 2, 2011 at 2:07 PM, Harvey P. Dale <hpd1 at nyu.edu> wrote:
> MemberQ easily tests whether a single integer appears in a list
> of integers. Suppose, however, that I want to test not for a single
> integer but for two or more consecutive integers, e.g., to see whether
> {1,4,6} is a member of {1,3,2,6,5,1,4,6,3,9}. I can do this by
> converting both lists into strings and then using string-matching
> functions, but is there some way of doing it directly without that
> conversion?
>
> Thanks.
>
> Harvey
>
> Harvey P. Dale
> University Professor of Philanthropy and the Law
> Director, National Center on Philanthropy and the Law
> 139 MacDougal Street
> New York, N.Y. 10012-1076
> Tel: 212-998-6161
> Fax: 212-995-3149
> =09
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________
>
>