# How to judge some kind of multinomial?

   lst1 = {x1, 123, x1 + x2, x2^5, x3^2, 4 x1 - x2, 4/5, (x2 + x4)^2, 1/x4, 1/(x1 + x3)};


How can I pick up the some kind of multinomial from lst1 and get lst2 in a simple way,

lst2 = { x1 + x2, 4 x1 - x2, (x2 + x4)^2, 1/(x1 + x3)};

• 1/(x1 + x3) is not a multinomial. Are you trying to filter expressions that depend on two or more variables? – J. M. is in limbo Mar 30 '17 at 9:38
• @J.M. Yes, that's the point. Thanks! – Orders Mar 30 '17 at 12:02

Pick[lst1, Length[Variables@#] > 1 & /@ lst1]

Select[lst1, Length[Variables@#] > 1 &]

• Select[] is better here, methinks. – J. M. is in limbo Mar 30 '17 at 9:47
• ...and if one wants to cover nonpolynomial expressions, use ReduceFreeVariables[]` as in this answer. – J. M. is in limbo Mar 30 '17 at 9:57