Re: Filtering a list of list for certain elements that

*To*: mathgroup at smc.vnet.net*Subject*: [mg88859] Re: [mg88834] Filtering a list of list for certain elements that*From*: Bob Hanlon <hanlonr at cox.net>*Date*: Mon, 19 May 2008 05:18:43 -0400 (EDT)*Reply-to*: hanlonr at cox.net

filter[x_List, n1_, n2_] := x /. {{___, n1, n2, ___} -> Sequence[], {___, n2, n1, ___} -> Sequence[]} mylist = {{a, b, c}, {a, c, b}, {b, a, c}, {b, c, a}, {c, a, b}, {c, b, a}}; filter[mylist, a, b] {{a, c, b}, {b, c, a}} filter[mylist, a, c] {{a, b, c}, {c, b, a}} filter[mylist, b, c] {{b, a, c}, {c, a, b}} Bob Hanlon ---- Steven Siew <stevensiew2 at gmail.com> 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". >