Re: Assigning to a sublist

*To*: mathgroup at smc.vnet.net*Subject*: [mg35181] Re: [mg35161] Assigning to a sublist*From*: Tomas Garza Hernandez <tgarza01 at prodigy.net.mx>*Date*: Fri, 28 Jun 2002 02:31:43 -0400 (EDT)*References*: <200206270423.AAA16904@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Try the following (i.e., don't write zz[[3]][[2]], but rather zz[[3,2]]): In[1]:= zz = {{2, {{1, 1}}}, {10, {{3, 1}}}, {5, {{2, 1}}}} Out[1]= {{2, {{1, 1}}}, {10, {{3, 1}}}, {5, {{2, 1}}}} In[3]:= zz[[3,2]] = Append[zz[[3]][[2]], {1, 1, 1, 1, 1}] Out[3]= {{2, 1}, {1, 1, 1, 1, 1}} ----- Original Message ----- From: "Bob Harris" <nitlion at mindspring.com> To: mathgroup at smc.vnet.net Subject: [mg35181] [mg35161] Assigning to a sublist > Howdy, > > 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? > > Thanks, > Bob H > >

**References**:**Assigning to a sublist***From:*Bob Harris <nitlion@mindspring.com>