Re: List element manipulation
- To: mathgroup at smc.vnet.net
- Subject: [mg25521] Re: [mg25408] List element manipulation
- From: dkeith at sarif.com
- Date: Thu, 5 Oct 2000 23:50:41 -0400 (EDT)
- References: <gbUB5.94606$Zh6.213680@ralph.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Here's still another way: In[8]:= decrement[lst_] := MapAt[# - 1 &, lst, Length[lst]] In[9]:= decrement[{a, b, c}] Out[9]= {a, b, -1 + c} Isn't Mathematica neat?! Best, David In article <gbUB5.94606$Zh6.213680 at ralph.vnet.net>, Tomas Garza <tgarza01 at prodigy.net.mx> wrote: > > In[1]:= > {Drop[Range[116, 166, 8], -1], Last[Range[116, 166, 8]] - 1} // Flatten > Out[1]= > {116, 124, 132, 140, 148, 156, 163} > > Tomas Garza > Mexico City > > "Martin Rommel" <Martin_Rommel at mac.com> wrote: > > > I want to decrement the last number in list. This ought to be easy, > but my > > initial attempts did not bear fruits: > > > > In[40]:= > > MapAt[Decrement, Range[116, 166, 8], -1] > > > > Decrement::"rvalue": "164 is not a variable with a value, so its > value > > cannot be changed." > > > > Out[40]= > > {116, 124, 132, 140, 148, 156, 164--} > > > > Do I need to use ReplacePart? That works but still gives me an error! > > > > In[53]:= > > Range[116, 166, 8] // ReplacePart[#, --Last[#], -1] & > > > > Set::"write": "Tag Last in Last[{116, 124, 132, 140, 148, 156, > 164}] is > > Protected." > > > > Out[53]= > > {116, 124, 132, 140, 148, 156, 163} > > > > Different error here: > > > > In[51]:= > > Range[116, 166, 8] // ReplacePart[#, --#[[-1]], -1] & > > > > Set::"setps": "{116, 124, 132, 140, 148, 156, 164} in assignment > of part > > is not a symbol." > > > > Out[51]= > > {116, 124, 132, 140, 148, 156, 163} > > > > > > Anybody out there able to enlighten me? > > Sent via Deja.com http://www.deja.com/ Before you buy.