Services & Resources / Wolfram Forums / MathGroup Archive

MathGroup Archive 2012

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

Search the Archive

Re: Transforming/expanding a list

  • To: mathgroup at
  • Subject: [mg127990] Re: Transforming/expanding a list
  • From: awnl <awnl at>
  • Date: Fri, 7 Sep 2012 04:58:30 -0400 (EDT)
  • Delivered-to:
  • Delivered-to:
  • Delivered-to:
  • Delivered-to:
  • References: <k29m0t$a8r$>


> I'm working on some Mathematica code that will help transform a large
> set of lists drawn from my company's legacy database systems. A
> typical row of the raw data looks like
> The lists are sequences of real numbers, separating some some number
> of Strings which for convenicence sake we call "NULL" (as opposed to
> a proper Mathematica Null). The goal is to create a new list where
> each NULL is replaced by the real number that most recently proceeds
> it (note that any number of NULLs may occur before or after any real
> values). I would like the code to return
> {x1,x1,x1,x2,x2,x2,x2,x2,x3,x3,x3,x4,x5,x5}

I think this will do what you need:

row = {x1, NULL, NULL, x2, NULL, NULL, NULL, NULL, x3, NULL, NULL, x4,
     x5, NULL};

FoldList[Replace[#2, NULL :> #1] &, First[row], Rest[row]]



  • Prev by Date: Re: A new FrontEnd
  • Next by Date: Re: Exiting a Nested operation...
  • Previous by thread: Re: Transforming/expanding a list
  • Next by thread: Re: Transforming/expanding a list