Re: Select only certain sublists matching criteria
- To: mathgroup at smc.vnet.net
- Subject: [mg111015] Re: Select only certain sublists matching criteria
- From: Robert McHugh <r62m10 at gmail.com>
- Date: Sat, 17 Jul 2010 08:14:57 -0400 (EDT)
Will the following be satisfactory? * iFieldA = 3; iTolA = 0.01; iStepA = 2.25 t = {{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}}; t // TableForm u=Select[t,((Abs@(#[[1]]-iStepA))<iTolA)&@{#[[iFieldA]]}&]; u // TableForm I have struggled with a similar problem for the last month. See posting "Using GatherBy, Select, and Sort to process data." Posted this month. Best Regards, Robert McHugh --------------------------------------------------------- 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. *