MathGroup Archive 2001

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

Search the Archive

Re: Replacing 1 to many in a list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg29259] Re: [mg29250] Replacing 1 to many in a list
  • From: Adriano Pascoletti <pascolet at dimi.uniud.it>
  • Date: Sat, 9 Jun 2001 03:08:48 -0400 (EDT)
  • References: <200106080815.EAA26992@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

At 4:15 -0400 8-06-2001, Chris Johnson wrote:
>I think this is probably simple, but I can't find a natural way to do it
>yet.  I hope someone out there can help.  I have a vector numbers with
>some Null's scattered throughout.  The number and location of missing data
>varies.  For example,
>
>vector = {6, 6, 5, 4, 4, 4, Null, 6, Null, 44, Null, 4, 4, 5}
>
>Position[vector, Null]
>
>{{7}, {9}, {11}}
>
>Now "/." will let me replace all instances of Null with the same variable
>but I want to replace each instance with a different variable.  I would
>prefer to use x[1], x[2] and x[3], but if it were easier, then x[7], x[9]
>and x[11] would be OK also.
>
>The prefered end result would be:
>
>{6, 6, 5, 4, 4, 4, x[1], 6, x[2], 44, x[3], 4, 4, 5}
>
>Any suggestions?
>

Chris,

RuleDelayed solves your ptoblem:

Block[{i = 0}, vector /. {Null :> x[++i]}]

yields

{6, 6, 5, 4, 4, 4, x[1], 6, x[2], 44, x[3], 4, 4, 5}


Adriano Pascoletti


  • Prev by Date: Re: Replacing 1 to many in a list
  • Next by Date: RE: Replacing 1 to many in a list
  • Previous by thread: Replacing 1 to many in a list
  • Next by thread: Re: Replacing 1 to many in a list