Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2000
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

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.


  • Prev by Date: Re: Usage of SymbolLabel option in MultipleListPlot
  • Next by Date: Re: making a function linear
  • Previous by thread: Re: List element manipulation
  • Next by thread: Re: List element manipulation