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?