Re: Replacing 1 to many in a list

• To: mathgroup at smc.vnet.net
• Subject: [mg29267] Re: Replacing 1 to many in a list
• From: "Allan Hayes" <hay at haystack.demon.co.uk>
• Date: Sat, 9 Jun 2001 03:08:55 -0400 (EDT)
• References: <9fq1sf\$qdl\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Chris,

vector={6,6,5,4,4,4,Null,6,Null,44,Null,4,4,5};

k=1;vector/.Null:>x[k++]

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

--
Allan
---------------------
Allan Hayes
Mathematica Training and Consulting
Leicester UK
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565

"Chris Johnson" <cjohnson at shell.faradic.net> wrote in message
news:9fq1sf\$qdl\$1 at smc.vnet.net...
> 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?
>