Re: Need a functional process for this.

*To*: mathgroup at smc.vnet.net*Subject*: [mg55602] Re: [mg55589] Need a functional process for this.*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Thu, 31 Mar 2005 01:23:53 -0500 (EST)*References*: <200503300822.DAA21909@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

On 30 Mar 2005, at 10:22, Steve Gray wrote: > I have two lists, aa and bb. aa has the general form {2,5,7,9,11,...} > (or{{2},{5},{7},{9},{11}, > }}), and bb has the general form {{6,4},{9,2},{5,6},{3,8}, > }. If either > the first or second element in any sublist (pair of integers) of bb > matches any element in aa, I > want to delete that sublist from bb. In the above example, neither > member of {6,4} or {3,8} belongs > to aa, while at least one element of {9,2} and {5,6} belongs to aa, so > bb becomes {{6,4},{3,8}}. If > aa had only one element, for example 7, I could do > bb=Delete[bb,Position[bb,{x_,7}|{7,y_}]], but I > don't know how to do it for several values instead of just "7" without > using a procedural loop. > What is a good functional way to do this? > Thank you for any tips. > > Steve Gray > > > For example ls={2,5,7,9,11}; DeleteCases[{{6,4},{9,2},{5,6},{3,8}},_?(Intersection[#,ls]!={}&)] {{6,4},{3,8}} Strictly speaking you can't call this "functional" since it principally uses pattern matching but it seems that you are using this term in a very broad sense. Andrzej Kozlowski

**References**:**Need a functional process for this.***From:*Steve Gray <stevebg@adelphia.net>