 
 
 
 
 
 
Re: Need a functional process for this.
- To: mathgroup at smc.vnet.net
- Subject: [mg55626] Re: Need a functional process for this.
- From: koopman at sfu.ca (Ray Koopman)
- Date: Thu, 31 Mar 2005 01:25:02 -0500 (EST)
- References: <d2dpdm$lsd$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Steve Gray <stevebg at adelphia.net> wrote in message 
news:<d2dpdm$lsd$1 at smc.vnet.net>...
> 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
In[1]:= aa = {2,5,7,9,11}; bb = {{6,4},{9,2},{5,6},{3,8}};
        DeleteCases[bb,{b1_,b2_}/;MemberQ[aa,b1]||MemberQ[aa,b2]]
Out[2]= {{6,4},{3,8}}

