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