RE: Position on a List
- To: mathgroup at smc.vnet.net
- Subject: [mg12890] RE: [mg12845] Position on a List
- From: Ersek_Ted%PAX1A at mr.nawcad.navy.mil
- Date: Wed, 24 Jun 1998 03:44:14 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Idoia Aguirre wrote: | | When I do: Position[{1/A, A}, A] | | I obtain: {{1,1},{2}} | | But I would like to obtain only : {{2}} | You need to give Position a levelspec as a third argument. In[1]:= ?Position "Position[expr, pattern] gives a list of the positions at which objects \ matching pattern appear in expr. Position[expr, pattern, levspec] finds only \ objects that appear on levels specified by levspec." You need to specify levspec=1 as in the line below. In[2]:= Position[{1/A,A},A,1] Out[2]= {{2}} _________________________________ Lets look at this a little closer with another example. With the default levelspec we get the position of every A. In[4] shows us that the default levlspec must be Infinity. In[3]:= Position[{1/(1+A), 1/A, A}, A] Out[3]= {{1,1,2},{2,1},{3}} In[4]:= Position[{1/(1+A), 1/A, A}, A, Infinity] Out[4]= {{1,1,2},{2,1},{3}} If we specify levelspec=2 we get all positions where A can be found from level 1 through level 2. In[5]:= Position[{1/(1+A), 1/A, A}, A, 2] Out[5]= {{2,1},{3}} If we specify levelspec=1 we get all positions where A can at Level 1. In[6]:= Position[{1/(1+A), 1/A, A}, A, 1] Out[6]= {{3}} If we specify levelspec={2} we get all positions where A can be found at level 2. In[7]:= Position[{1/(1+A), 1/A, A}, A, {2}] Out[7]= {{2,1}} Ted Ersek