Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

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

Search the Archive

Re: Re: Replace non-numeric values in a list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg88806] Re: [mg88779] Re: Replace non-numeric values in a list
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Sat, 17 May 2008 05:29:31 -0400 (EDT)
  • References: <g0h825$mtr$1@smc.vnet.net> <200805160933.FAA01118@smc.vnet.net>

On 16 May 2008, at 18:33, Steven Siew wrote:

> On May 15, 9:50 pm, "Adel Elsabbagh" <aelsabb... at gmail.com> wrote:
>> Dear all,
>>
>> I have a list that contains numeric and non-numeric values
>> list = { a, 1, 2, b, 3};
>> How can I replace non-numeric values with zeros?
>> Thanks!
>>
>> --
>> Adel Elsabbaghhttp://www.svlab-asu.com/aelsabbagh.html
>
> Surprisingly the script below fails. Anyone want to comment?
>
> list = { a, 1, 2, b, 3};
>
> newlist2 = list /. v_?(Not[NumericQ[#]] &) -> 0
>
>

Not really surprising. "list" itself is not numeric so it matches the  
pattern. Search for pattern in ReplaceAll beigns at the bottom level  
and stops if a match is found so list is the first and only match. One  
way to avoid this is:

  newlist2 = Replace[list, v_?(Not[NumericQ[#]] &) -> 0, {1}]
  {0, 1, 2, 0, 3}

Andrzej Kozlowski




  • Prev by Date: Re: RenderBadPicture error while running Mathematica 6 on Linux
  • Next by Date: Re: Replace non-numeric values in a list
  • Previous by thread: Re: Replace non-numeric values in a list
  • Next by thread: Re: Replace non-numeric values in a list