Re: how to test where a list contains constant(s) or not
- To: mathgroup at smc.vnet.net
- Subject: [mg92003] Re: how to test where a list contains constant(s) or not
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Tue, 16 Sep 2008 19:25:52 -0400 (EDT)
On 9/15/08 at 3:41 AM, sh_liuhuashan at 163.com (Aya) wrote: >case1: { a, b, c, Pi } gives true because of Pi >case2: { a, b, c, 0.0001} gives true because of 0.0001 >case3: { a, b, c, 2 + Pi I } gives ture becase of 2 + Pi I >case4: { a, b, c} gives false >is this function right ? >ComplexQ[z_] := NumericQ[ z ] || ( NumericQ[ z ] && SameQ[ Head[ z ], >Complex] ) >IsConstantsIn[ lstList_ ] := >Module[ { intLength }, >intLength = Length@Select[ lstList, ComplexQ[ # ]& ]; >If[ intLength > 0, Return[ True ], Return[ False ] ]; >Return[ False ]; >] > Your function looks overly complex. If I understand correctly what you want to do then constantQ[x_List] := Or @@ (NumericQ /@ x) should work. Using this on your test cases gives In[58]:= constantQ@{a, b, c, Pi} constantQ@{a, b, c, 0.0001} constantQ@{a, b, c, 2 + Pi I} constantQ@{a, b, c} Out[58]= True Out[59]= True Out[60]= True Out[61]= False