Re: Lists
- To: mathgroup at yoda.physics.unc.edu
- Subject: Re: Lists
- From: "Katherine (Williams) Derbyshire" <kewms at kew.com>
- Date: Sat, 30 Jan 1993 09:21:21 EST
On Fri, 29 Jan 93 12:48:49 -0800, "John Lee" <lee at math.washington.EDU> wrote:
> neilb at physics.su.oz.au (RiemannZeta(s)) write:
> > >In[5]:= l={x,z,y,0,0}
> > >
> > >Out[5]= {x, z, y, 0, 0}
> > >
> > >In[6]:= l/.l[[Length[l] ]]->l[[Length[l] ]]+1
> > >
> > >Out[6]= {x, z, y, 1, 1}
> > >
> > which is curious. Does anybody know why
> > this doesn't produce
> > {x,y,z,0,1}?
> This explains why you got the result you did. One function you might use
> here is AddTo (which can be abbreviated +=). For example:
>
> In[4]:= l={x,z,y,0,0}
>
> Out[4]= {x, z, y, 0, 0}
>
> In[5]:= l[[ Length[l]] ] += 1
Why fuss with using Length[] to find the end of the list? What about
Last[l], Part[l, -1], or even ReplacePart[l, ++#&, -1]?
I'm not sure the syntax for ReplacePart is right, since I don't have
Mma running at the moment, but it looks like using it in some way is
probably the most efficient (and easiest to read).
Katherine
--
Katherine (Williams) Derbyshire
kewms at kew.com
A mouse is an elephant designed by the Japanese.