Re: Select only certain sublists matching criteria
- To: mathgroup at smc.vnet.net
- Subject: [mg111006] Re: Select only certain sublists matching criteria
- From: Thomas Dowling <thomasgdowling at gmail.com>
- Date: Fri, 16 Jul 2010 06:59:09 -0400 (EDT)
Hello
lst = {{0, -4, 2.283}, {0.5, -4, 2.282}, {1, -4, 2.280}, {1.5, -4,
2.276}, {2, -4, 2.271}, {2.5, -4, 2.264}, {3, -4, 2.255}, {3.5, -4,
2.242}}
Select[lst,
Part[#, 3] > (2.25 - 0.01) && Part[#, 3] < (2.25 + 0.01) &]
Out[26]= {{3, -4, 2.255}, {3.5, -4, 2.242}}
Select[lst, Part[#, 1] == 0 &]
Out[27]= {{0, -4, 2.283}}
Tom Dowling
On Thu, Jul 15, 2010 at 8:09 AM, Chris Poole <chris at chrispoole.com> wrote:
> I have a list like this:
> {{0, -4, 2.283}, {0.5, -4, 2.282}, {1, -4, 2.280}, {1.5, -4,
> 2.276}, {2, -4, 2.271}, {2.5, -4, 2.264}, {3, -4, 2.255}, {3.5, -4,
> 2.242}}
>
> I want to look at each list of 3 numbers, and keep only the lists where the
> third item in each list fits some criteria.
>
> I can do something like this:
> Select[{2, 15, 1, 16, 17}, Abs[3 - #] < 3 &]
>
> But it only works for flat lists.
>
> For example, I want only the lists where the third item is around 2.25 +-
> 0.001. Something like that.
>
> I can work out how to get Select to operate on the 3rd item of each
> sublist, but not how to then keep that entire list.
>
> If anyone has any ideas, they are much appreciated.
>
>