Re: Assigning to a sublist

*To*: mathgroup at smc.vnet.net*Subject*: [mg35176] Re: [mg35161] Assigning to a sublist*From*: BobHanlon at aol.com*Date*: Fri, 28 Jun 2002 02:31:10 -0400 (EDT)*Sender*: owner-wri-mathgroup at wolfram.com

In a message dated 6/27/02 1:38:45 AM, nitlion at mindspring.com writes: >I'm trying to assign a new value to an entry in a sublist (of another list), >and I can't understand why it won't work. > >For example, I do the following: > > In[1]:= zz = {{2, {{1, 1}}}, {10, {{3, 1}}}, {5, {{2, 1}}}} > Out[1]= {{2, {{1, 1}}}, {10, {{3, 1}}}, {5, {{2, 1}}}} > > In[2]:= zz[[3]][[2]] > Out[2]= {{2, 1}} > > In[3]:= Append[zz[[3]][[2]], {1, 1, 1, 1, 1}] > Out[3]= {{2, 1}, {1, 1, 1, 1, 1}} > > In[4]:= zz[[3]][[2]] = Append[zz[[3]][[2]], {1, 1, 1, 1, 1}] > Set::"setps : zz[[3]] in assignment of part is not a symbol." > Out[4]= {{2, 1}, {1, 1, 1, 1, 1}} > >For some reason it doesn't like the assignment. What confuses me is that >is >zz[[3]][[2]] were just a variable, it would work. Further, if it were >just >an entry at the *top* level of a list, it would work, as this example shows: > > In[5]:= yy = zz[[3]] > Out[5]= {5, {{2, 1}}} > > In[6]:= yy[[2]] > Out[6]= {{2, 1}} > > In[7]:= yy[[2]] = Append[yy[[2]], {1, 1, 1, 1, 1}] > Out[7]= {{2, 1}, {1, 1, 1, 1, 1}} > >So it seems like the issue is just that deeply nested things don't behave >like things that are not as deeply nested. Am I right about that? How >can >I modify an entry in a sublist? > zz={{2,{{1,1}}},{10,{{3,1}}},{5,{{2,1}}}} {{2,{{1,1}}},{10,{{3,1}}},{5,{{2,1}}}} zz[[3,2]] {{2,1}} Append[zz[[3,2]],{1,1,1,1,1}] {{2,1},{1,1,1,1,1}} zz[[3,2]]=Append[zz[[3,2]],{1,1,1,1,1}] {{2,1},{1,1,1,1,1}} zz {{2,{{1,1}}},{10,{{3,1}}},{5,{{2,1},{1,1,1,1,1}}}} Bob Hanlon Chantilly, VA USA