MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: finding positions of elements in a list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg86807] Re: [mg86761] finding positions of elements in a list
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Fri, 21 Mar 2008 01:56:03 -0500 (EST)
  • Reply-to: hanlonr at cox.net

There are many different ways

mylist = {{20, 109}, {20, 110}, {20, 111}, {21, 105}, {21, 106}, {21, 107}};

threshold = 108;

Select[mylist, #[[2]] > threshold &]

Cases[mylist, _?(#[[2]] > threshold &)]

Cases[mylist, {_, _?(# > threshold &)}]

DeleteCases[mylist, _?(#[[2]] <= threshold &)]

mylist /. {_, _?(# <= threshold &)} -> Sequence[]

Pick[mylist, Thread[mylist[[All, 2]] > threshold]]


Bob Hanlon

---- PeterM <metaxas at lps.u-psud.fr> wrote: 
> Hi.
> 
> Having a few problems here with what I think should be a simple operation. I have a list as shown:
> 
> mylist={{20, 109}, {20, 110}, {20, 111}, {21, 105}, {21, 106}, {21, 107},...}
> 
> It's a list of {x,y} co-ordinates of some data points I'm analysing.
> 
> I want to create a new list which contains only those data points whose y co-ordinate is greater than 80 ie. mylist[[n,2]]>80.
> 
> Problem is, I can't work out how to use Select to do this when each element in the list has an x and a y co-ordinate. If I split the list into x and y co-ordinates and searched for those y values greater than 80, I would have a list of those y-values but would not know the corresponding x-values. 
> 
> I also tried Position but it wasn't clear to me if a pattern can be used for this.
> 
> Thanks in advance, Pete.
> 



  • Prev by Date: Re: Bug: symbol recreates itself suddenly
  • Next by Date: Re: finding positions of elements in a list
  • Previous by thread: Re: finding positions of elements in a list
  • Next by thread: Re: finding positions of elements in a list