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>
- changing parts of a list of lists