Re: Re: ReplacePart question
- To: mathgroup at smc.vnet.net
- Subject: [mg13199] Re: [mg13100] Re: ReplacePart question
- From: Wouter Meeussen <w.meeussen.vdmcc at vandemoortele.be>
- Date: Mon, 13 Jul 1998 07:42:48 -0400
- Sender: owner-wri-mathgroup at wolfram.com
hi,
while we're waiting for a new version of Mathematica, (;-)) something
can be thrown together on the basis of "Fold":
FoldList[
ReplacePart[#1,{u, x , y ,z},#2[[1]],#2[[2]]]&,
{a,b,c,d},{ {{1},2}, {{4}, 1}}]
Out[17]=
{{a, b, c, d}, {x, b, c, d}, {x, b, c, u}}
*** function definition ***
myReplaceParts[
expr_List,
new_List,
targetpointers_List,
sourcepointers_List]:=
Fold[
ReplacePart[#1,new,#2[[1]],#2[[2]]]&,
expr,
Transpose[{targetpointers,sourcepointers}]
]
*** testing & demo ***
In[36]:=
myReplaceParts[{a,b,c,d,e,f},
{u,v,w,x,y,z},
{ {1}, {{3},{2}}, {5} },
{1,2,3}]
Out[36]=
{u, v, v, d, w, f}
enjoy,
wouter.
At 03:44 07.07.98 -0400, you wrote:
>Walter Seaman wrote in message <6nkvd3$17k at smc.vnet.net>...
>
>>For example, suppose I want to take the list
>>{a,b,c,d} and replace a with y and x with b. It seems I should be able
>>to use the command
>>
>>ReplacePart[{a, b, c,d},{x,y},{{1},{4}},{2,1}]
>>
>>but the output is
>>{{x,y}\[LeftDoubleBracket]2,1\[RightDoubleBracket],b,
>> c,{x,y}\[LeftDoubleBracket]2,1\[RightDoubleBracket]}
>>
clip
>
>Paul A. Rombouts <paromb at worldonline.nl>
>________________________________________________________________________
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>Hello Paul,
>
>What you want to do is not possible in V3.0.x. You will have to replace
>the parts individually and use a sequence of ReplaceParts commands:
>
>In[51]:= ReplacePart[{a,b,c},{d,e,f},1,2] Out[51]= {e,b,c}
>
>I have been told that the ablility to replace multiple parts will be
>available in the next major release (i.e. 3.1).
>
>Tom Zeller
>Wolfram Research Technical Support - Student Versions
>
>________________________________________________________________________
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>
>
>
NV Vandemoortele Coordination Center Oils & Fats Applied Research
Prins Albertlaan 79
Postbus 40
B-8870 Izegem (Belgium)
Tel: +/32/51/33 21 11
Fax: +/32/51/33 21 75
vdmcc at vandemoortele.be