RE: Assigning to a sublist
- To: mathgroup at smc.vnet.net
- Subject: [mg35170] RE: [mg35161] Assigning to a sublist
- From: "DrBob" <majort at cox-internet.com>
- Date: Fri, 28 Jun 2002 02:30:57 -0400 (EDT)
- Reply-to: <drbob at bigfoot.com>
- Sender: owner-wri-mathgroup at wolfram.com
You can Set a Part of a variable, as in yy[[2]]=(anything) However, when you try zz[[3]][[2]] = (anything) you are trying to Set a Part of zz[[3]] (which is a constant), not Part of zz, as you intend. The solution is to Set a Part of zz, as follows: zz = {{2, {{1, 1}}}, {10, {{3, 1}}}, {5, {{2, 1}}}}; zz[[3, 2]] = Append[zz[[3]][[2]], {1, 1, 1, 1, 1}]; zz {{2, {{1, 1}}}, {10, {{3, 1}}}, {5, {{2, 1}, {1, 1, 1, 1, 1}}}} or equivalently: zz = {{2, {{1, 1}}}, {10, {{3, 1}}}, {5, {{2, 1}}}}; AppendTo[zz[[3, 2]], {1, 1, 1, 1, 1}]; zz {{2, {{1, 1}}}, {10, {{3, 1}}}, {5, {{2, 1}, {1, 1, 1, 1, 1}}}} Look up Part in the Help browser, for more ideas. Bobby Treat -----Original Message----- From: Bob Harris [mailto:nitlion at mindspring.com] To: mathgroup at smc.vnet.net Subject: [mg35170] [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