Re: ReplacePart?
- To: mathgroup@smc.vnet.net
- Subject: [mg10498] Re: [mg10480] ReplacePart?
- From: "Vittorio G. Caffa" <caffa@iabg.de>" <caffa@iabgmh.iabg.de>"
- Date: Tue, 20 Jan 1998 02:22:47 -0500
- Organization: IABG
- Reply-To: "Vittorio G. Caffa" <caffa@iabg.de>
Scott Morrison wrote:
> I have a list of pairs of the form:
> gt={{3,5},{{},6},{7,{}},{{},{}},{{},56},{{},3}};
>
> The empty lists inside pairs are being used as placeholders. I want to
> replace these with the elements of b: b={a1,a2,a3,a4,a5,a6};
> hopefully resulting in the list
> {{3,5},{a1,6},{7,a2},{a3,a4},{a5,56},{a6,3}}
>
> I had thought that ReplacePart could do this, as it says:
> "ReplacePart[expr, new, pos, npos] replaces parts at positions pos in
> expr by
> parts at positions npos in new."
>
>
> I can't get this to work at all. If someone could explain how to do this
> sort of thing, using ReplacePart or otherwise, I would be most
> grateful.
Here is a simple solution.
In[1]:= b = {a1,a2,a3,a4,a5,a6};
In[2]:= gt = {{3,5},{{},6},{7,{}},{{},{}},{{},56},{{},3}};
In[3]:= n = 1;
In[4]:= gt /. {} :> b[[n++]]
Out[4]: {{3,5},{a1,6},{7,a2},{a3,a4},{a5,56},{a6,3}}
Note the use of :> i.e. RuleDelayed.
Cheers, Vittorio