MathGroup Archive 2005

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

Search the Archive

Re: List Replace Problems

  • To: mathgroup at smc.vnet.net
  • Subject: [mg59875] Re: List Replace Problems
  • From: "dkr" <dkrjeg at adelphia.net>
  • Date: Wed, 24 Aug 2005 06:31:56 -0400 (EDT)
  • References: <deeom3$3rl$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

The first case works because DivideBy has the attribute HoldFirst. The
problem with the second case is that the expression that matches u gets
immediately substituted inside the Do statement, so you end up
evaluating expressions like Do[{1,3,5,7,9}[[i]]/=i,{i,1,5}]. But part
assignments are only permitted for values of a symbol, and  {1,3,5,7,9}
is not a symbol, hence the error message.

Try the following:

In[83]:=
mylst[u_List]:=Fold[ReplacePart[#1,#1[[#2]]/#2,#2]&,u,Range[2,Length[u]]];
a={1,3,5,7,9};
a=mylst[a];
a//InputForm
Out[86]//InputForm=
{1, 3/2, 5/3, 7/4, 9/5}


  • Prev by Date: Re: N-dimensional rotations
  • Next by Date: Re: Plotting the Lemniscate of Bernoulli
  • Previous by thread: Re: List Replace Problems
  • Next by thread: Re: List Replace Problems