Re: ReplaceAll applied to List - solution
- To: mathgroup at smc.vnet.net
- Subject: [mg72346] Re: ReplaceAll applied to List - solution
- From: "Hannes Kessler" <HannesKessler at hushmail.com>
- Date: Tue, 26 Dec 2006 07:23:00 -0500 (EST)
- References: <em8jdu$pel$1@smc.vnet.net><emb5rq$a22$1@smc.vnet.net>
In order to get my 3rd example working I had to modify it as follows:
{ 1., {2}, 3} /. (x_)?(And[ Not@ListQ@#, Not@MatchQ[#, List] ] &) -> g
--> {g, {g}, g}
Thanks Daniel.
dh schrieb:
> Hi Hannes,
>
> parts of an expression also includes Heads. And a Head can be atomic or
>
> not-a-list.
>
> Daniel
>
>
>
> Hannes Kessler wrote:
>
> > Hello,
>
> >
>
> > I want to apply transformation rules to those elements of a list which
>
> > are not lists themselves. The structure of the list is unknown in
>
> > advance.
>
> >
>
> > The following simple examples illustrate my my problems with ReplaceAll
>
> > and List:
>
> >
>
> > Expected result:
>
> > {1., {2}, 3} /. x_?NumericQ :> g
>
> > --> {g,{g},g}
>
> >
>
> > Unexpected result - inspite of AtomQ[{1., {2}, 3}] giving False
>
> > {1., {2}, 3} /. x_?AtomQ :> g
>
> > --> g[g, g[g], g]
>
> >
>
> > Similarly unexpected result - inspite of Not[ListQ[{1., {2}, 3}]]
>
> > giving False
>
> > {1., {2}, 3} /. x_?(Not[ListQ[#]] &) :> g
>
> > --> g[g, g[g], g]
>
> >
>
> > Any explanations for this behavior?
>
> >
>
> > Thanks in advance,
>
> > Hannes Kessler
>
> >