# How to cut elements from set of data based on function restrictions? [duplicate]

This question already has an answer here:

For example, say I have a set of data which takes the form

list = {{1,2,4,5,3,2},{2,3,4,2,1,6},{2,3,4,5,4,3}}


where all of the elements have a length of 6. Then I have to run this list through many functions each with various restrictions e.g.:

ptOf[event_]:=px+py/;(px+py)<4,


where px is the first element in the 6 vector {px,py,_,_,_,_} and py is the second element.

How would I cut the elements from the original list that do not satisfy this condition?

-

## marked as duplicate by Mr.Wizard♦Jun 27 '14 at 19:45

I don't really get it but Select[list, #[[1]] + #[[2]] < 4 &]? – Öskå Jun 27 '14 at 15:45
Thank you. Just what I was looking for. – user16104 Jun 27 '14 at 16:04
This is an extremely common class of question. In addition to the Linked questions under the original see also e.g. (11219), (11780), (30155), (33880). For clarity I would use: Cases[list, {a_, b_, ___} /; a + b < 4]. For speed choose numeric methods using e.g. UnitStep. – Mr.Wizard Jun 27 '14 at 19:46

For this special case you need to use Select and Part a.k.a. [[]]:
list = {{1,2,4,5,3,2},{2,3,4,2,1,6},{2,3,4,5,4,3}}

{{1, 2, 4, 5, 3, 2}}