Re: Filtering a list of list for certain elements that
- To: mathgroup at smc.vnet.net
- Subject: [mg88842] Re: [mg88834] Filtering a list of list for certain elements that
- From: Carl Woll <carlw at wolfram.com>
- Date: Mon, 19 May 2008 05:15:23 -0400 (EDT)
- References: <200805181134.HAA23914@smc.vnet.net>
Steven Siew wrote:
>I have a list of lists
>
>mylist={{a,b,c},{a,c,b},{b,a,c},{b,c,a},{c,a,b},{c,b,a}}
>
>I want to filter out all lists that have "a being a neighbor to b".
>
>I am looking for the following result.
>
>{{a,c,b},{b,c,a}}
>
>
>For this toy example, I can probably do it by hand but my real problem
>has 120 lists in a list. And I need to filter out various combination
>of letters like "s cannot be next to d" , "s cannot be next to j" , "c
>cannot be next to j" , "h cannot be next to d" and "h cannot be next
>to s".
>
>
One possibility:
In[267]:= DeleteCases[mylist, {___, PatternSequence[a, b] |
PatternSequence[b, a], ___}]
Out[267]= {{a, c, b}, {b, c, a}}
Carl Woll
Wolfram Research
- References:
- Filtering a list of list for certain elements that are neighbours
- From: Steven Siew <stevensiew2@gmail.com>
- Filtering a list of list for certain elements that are neighbours