MathGroup Archive 2008

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

Search the Archive

Re: Filtering a list of list for certain elements that


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


  • Prev by Date: Re: Possible Bug Report: CoefficientList
  • Next by Date: Implementing a array assignment for custom data structure
  • Previous by thread: Re: Filtering a list of list for certain elements that are neighbours
  • Next by thread: Re: Filtering a list of list for certain elements that are neighbours