Re: ReplaceAll applied to List

• To: mathgroup at smc.vnet.net
• Subject: [mg72329] Re: ReplaceAll applied to List
• From: "dimitris" <dimmechan at yahoo.com>
• Date: Tue, 26 Dec 2006 06:14:42 -0500 (EST)
• References: <em8jdu\$pel\$1@smc.vnet.net>

```I forgot to add how you should work before...

Use Replace specifying the level.

For example

In[31]:=
Replace[{2.3, 4, {7/8}, a, b, I, {{I^2}}}, (x_)?NumberQ -> x^2, 1]
Out[31]=
{5.289999999999999, 16, {7/8}, a, b, -1, {{-1}}}

In[32]:=
Replace[{1., {2}, 3}, (x_)?NumericQ -> g, 1]
Out[32]=
{g, {2}, g}

Regards
Dimitris

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
>
> 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?
>
> Hannes Kessler

```