Re: list assignment problem
- To: mathgroup@smc.vnet.net
- Subject: [mg12495] Re: [mg12434] list assignment problem
- From: Bob Hanlon <BobHanlon@aol.com>
- Date: Tue, 19 May 1998 13:31:57 -0400
jlist = {{1, 2}, {3, 4}}; To understand what happens with jlist[[1]][[2]], implement it a step at a time the way it would be interpretted. jlist[[1]] {1, 2} This is the first row of the matrix. %[[2]] 2 This is the second element of the two element list. % = 6 Set::write: Tag Out in % is Protected. 6 That is you asked for it to make the assignment 2 = 6. This assignment couldn't be made and it returned the last meaningful value which it has, the 6 from the attempted assignment. jlist[[1]][[2]] = 6 Set::setps: jlist[[1]] in assignment of part is not a symbol. 6 When this is all done on one line, Mathematica concludes that there is no symbol involved in the assignment slightly earlier and gives you a different error message. The 6 does not reflect the result of an assignment since no assignment can be made. Bob Hanlon In a message dated 5/15/98 12:21:26 PM, you wrote: >I would like to thank everyone who responded to my question. >I know now how to do it right and it works in my program fine >but I still dont know really the difference between these two >stmts: > >jlist[[1]][[2]]=6 which is wrong >and >jlist[[1,2]]=6 which is right. >To read the values of index 1 and 2 >both will give 6 but in the assignment >only the 2nd one works. Is there any >difference between the two stmts ?