Re: Filtering a list of list for certain elements that are neighbours
- To: mathgroup at smc.vnet.net
- Subject: [mg88855] Re: Filtering a list of list for certain elements that are neighbours
- From: Szabolcs Horvát <szhorvat at gmail.com>
- Date: Mon, 19 May 2008 05:17:56 -0400 (EDT)
- Organization: University of Bergen
- References: <g0p4a2$nc4$1@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".
>
Cases[mylist, Except[{___, a, b, ___} | {___, b, a, ___}]]