is Head[] part of the expression?
- To: mathgroup at smc.vnet.net
- Subject: [mg126880] is Head[] part of the expression?
- From: "Nasser M. Abbasi" <nma at 12000.org>
- Date: Fri, 15 Jun 2012 03:41:24 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Reply-to: nma at 12000.org
I am now in a state of little confusion about when Head[]
of a list (the value at index 0) is 'looked' at when
passing a list to a function to process the list.
For example, below I have a list, and then Position[]
is passed this list to find the nonzero elements in
the list.
Depending on the test for zero used, different
results show up. Sometime the Head[] of the list
is examined (because I get zero index) and sometime
it is not.
So, my question, what is the rule-of-thumb on this?
I am making a cheat sheet for Mathematica, and
wanted to make a simple rules to remember.
-- case 1 -----
v={1,0,3};
Position[v,x_/;x!=0]
Out[68]= {{1},{3}} (*what I expected*)
-----------------------
--- case 2 --------------------
Position[v,x_/;Not[PossibleZeroQ[x]]]
Out[69]= {{0},{1},{3}}
----------------------------
----- case 3 ---------------------
Position[v,x_/;Not[SameQ[x,0]]]
Out[70]= {{0},{1},{3},{}}
--------------------------------
---- case 4--------------
Position[v, x_ /; Not[SameQ[x, 0]], 2]
Out[71]= {{0},{1},{3}}
---------------------------
thanks,
--Nasser
- Follow-Ups:
- Re: part of the expression?
- From: Andrzej Kozlowski <akozlowski@gmail.com>
- Re: part of the expression?
- From: Christoph Lhotka <christoph.lhotka@fundp.ac.be>
- Re: part of the expression?
- From: Bob Hanlon <hanlonr357@gmail.com>
- Re: part of the expression?