       Re: List manipulations

• To: mathgroup at smc.vnet.net
• Subject: [mg20624] Re: List manipulations
• From: Ranko Bojanic <bojanic at math.ohio-state.edu>
• Date: Thu, 4 Nov 1999 02:13:36 -0500
• Organization: Ohio State University
• Sender: owner-wri-mathgroup at wolfram.com

```On Tuesday, November 2, 1999, Debbie L.  wrote:

> Hi Folks,

> The program below takes the each value of the list,"events",finds
> which of these values falls within the intervals {x,y} which comprise
> the list,"gaps",then removes these values from the events list and
> outputs this modified list which is called "eout". I'm getting an
error
> for incomplete expression, although I'm not sure if the algorithm
itself
> is doing the job. These reason why I wrote the loop to cue on the
> integer parts of both lists is because these lists will eventually be
> quite large, about 3000 elements each in which case I wanted to make
the
> process more efficient.

> Thanks if anyone can help.
> Debbie L.
> ....

Debbie:

If I have understood correctly, you have a list  of intervals and a list

of numbers and you want to find the numbers which are not in any of the
intervals:

gaps = {{1, 5.5}, {2, 4.3}, {2.7, 3.1}, {3.002, 4.007}, {10.001,
10.007}, {10.101, 11.001}, {11.007, 12.0}};
events = {6.7, 8.9, 2.3, 2.789, 10, 11.002, 10.115, 3.02, 2.75};

If we denote by x a number and by y a list of intervals,the new list
can be obtained easily as follows:

In:=
test[x_, y_] :=
Module[{len = Length[y], in = True},
For[j = 1, j ? len, j++,
If[y[[j, 1]] ? x && x ? y[[j, 2]], in = False; Break]];
Return[in]];

In:=
Select[events, test[#, gaps] &]

Out=
{6.7, 8.9, 10, 11.002}

```

• Prev by Date: Mathematica link for LabVIEW
• Next by Date: Re: ParametricPlot3D Edges