re: Lists

*To*: mathgroup at yoda.physics.unc.edu*Subject*: re: Lists*From*: tgayley (Todd Gayley)*Date*: Fri, 29 Jan 1993 11:09:34 -0600

Neil (neilb at physics.su.oz.au) asks: >Hi, I am try to add one to the last element of a list. ..... > >>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}? > The substitution l/.l[[Length[l] ]]->l[[Length[l] ]]+1 evaluates to l /. 0->1 which explains your results. To modify a list in this way, you need to use ReplacePart: ReplacePart[l, Last[l]+1, Length[l]] --------------- Todd Gayley WRI Technical Support