Re: Need a functional process for this.

• To: mathgroup at smc.vnet.net
• Subject: [mg55607] Re: Need a functional process for this.
• From: dh <dh at metrohm.ch>
• Date: Thu, 31 Mar 2005 01:23:58 -0500 (EST)
• References: <d2dpdm\$lsd\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Hi Steve,
you can use "Cases" to pick the elements you want, specifying the
elements by a pattern, e.g.:

Cases[bb, {x1_, x2_} /; FreeQ[aa, x1] && FreeQ[aa, x1]]

You can as well use "Select" if you prefer a function instead of a pattern:

Select[bb, FreeQ[aa, #[[1]]] && FreeQ[aa, #[[2]]] &]

you can also check if the elements are not contained in aa by using the
set operator "Intersection":

Select[bb, Intersection[#, aa] == {} &]

Sincerely, Daniel

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
>

```

• Prev by Date: Re: subtle dumb question
• Next by Date: Re: Questions about Abs[_]
• Previous by thread: Re: Need a functional process for this.
• Next by thread: Re: Need a functional process for this.