Re: Select x s.t. y>10

*To*: mathgroup at smc.vnet.net*Subject*: [mg13996] Re: [mg13957] Select x s.t. y>10*From*: Wouter Meeussen <eu000949 at pophost.eunet.be>*Date*: Sat, 12 Sep 1998 16:59:19 -0400*Sender*: owner-wri-mathgroup at wolfram.com

Jason, patterns with conditions are nice constructs : it={{a,1},{b,3},{c,4},{d,9},{e,7}} Cases[it,{_,x_?PrimeQ}] First/@Cases[it,{_,x_?PrimeQ}] {{b,3},{e,7}} {b,e} if your criteria for selection do not involve a standard "yes-or-no" returning test, then make your own: Cases[it, {_,_?myowntestQ}] or explicitely with a "/;condition" structure : Cases[it,{_,x_}/;(IntegerQ[Sqrt[x]])] First/@Cases[it,{_,x_}/;(IntegerQ[Sqrt[x]])] {{a,1},{c,4},{d,9}} {a,c,d} wouter ****************************************** At 15:06 11-09-98 -0400, Jason Gill wrote: >I came across what seems like it should be a simple little function, but >could not come up with a clever way to implement it. Generally, what I >am trying to do is take a list of lists of length 2 ie a list of x,y >coordinates, and Select x values based on some criterion for y. For >example I want to select the first x value for which the corresponding >y is greater than 5. >I can write a function using Position and Take etc. , but there must be >a clever,and more efficient way to do this. Any thoughts... Jason > >-- >Jason Gill >IBM Microelectronics >Essex Junction, VT 05452 >Phone (802)769-3350 >Fax (802)769-1220 >email: jgill at vbimail.champlain.edu > jasongil at us.ibm.com > > > Dr. Wouter L. J. MEEUSSEN w.meeussen.vdmcc at vandemoortele.be eu000949 at pophost.eunet.be