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

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?

• 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. 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. 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}}