Re: changing parts of a list of lists

*To*: mathgroup at smc.vnet.net*Subject*: [mg52577] Re: changing parts of a list of lists*From*: DrBob <drbob at bigfoot.com>*Date*: Fri, 3 Dec 2004 03:53:29 -0500 (EST)*References*: <200412020721.CAA05820@smc.vnet.net>*Reply-to*: drbob at bigfoot.com*Sender*: owner-wri-mathgroup at wolfram.com

Neither g nor f changes the value of its argument; g changes the value of a COPY of the argument, and returns the modified copy. Bobby On Thu, 2 Dec 2004 02:21:19 -0500 (EST), Dan Drake <drake at math.umn.edu> wrote: > > > I'm working with a list of lists, such as {{1,2}, {3}, {4,5,6}}, and I > want to go through and make changes to each sublist, but I get the error > message "Set::setps: {{0,0,0},{0},{0}} in assignment of part is not a > symbol." > > I don't quite understand what's going on. Here's a toy example that > shows the error: > > f[x:{__List}] := For[i=1, i <= Length[x], i++, x[[i]] = {1, 2, 3}] > > If I wrap it in a Module, I can get it to work, but the "y=x" seems > redundant: > > g[x:{__List}] := > Module[{y=x}, For[i=1, i <= Length[y], i++, y[[i]] = {1, 2, 3}]; y] > > f[{{a},{b}}] fails, but g[{{a},{b}}] works. It seems like the function f > should work. What's going on? > > Thanks, > > Dan > > -- > --- Dan Drake <drake at math.umn.edu> University of Minnesota > ----- http://www.math.umn.edu/~drake School of Mathematics > ------- > > > > -- DrBob at bigfoot.com www.eclecticdreams.net

**References**:**changing parts of a list of lists***From:*Dan Drake <drake@math.umn.edu>