MathGroup Archive 2007

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

Search the Archive

Re: fast way of appending x zeros to a list?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg79145] Re: fast way of appending x zeros to a list?
  • From: David Bailey <dave at Remove_Thisdbailey.co.uk>
  • Date: Thu, 19 Jul 2007 03:41:23 -0400 (EDT)
  • References: <f7ke8n$508$1@smc.vnet.net>

kristoph wrote:
> Dear all,
> 
> I'm looking for a fast way to append 0's to a list. Unfortunately, I
> append a variable number of 0's to a list which is generated by a
> For[...]-loop. Therefore, PadLeft[...] is not variable enough to
> append exactly x zeros to the list.
> 
> At the moment I use: Do[PrependTo[data,0],{K}] where the K depends on
> certain factors.
> 
> In case you have an idea to append exactly x zeros to the left quickly
> I would be more that happy since I heard that the PrependTo[...] and
> AppendTo[...] functions are very slow.
> 
> Thanks a lot.
> 
> 
Hello,

PadLeft can indeed be used to prepend K zeros to a list:


s={a,b,c};

K=5;

PadLeft[s,K+Length[s]]

You are right - appending and pre-pending to lists is not recommended 
for speed, but with Mathematica you always have to ask yourself whether 
speed matters in your particular application. For example:

K=1000;

Do[PrependTo[s, 0], {K}] // Timing

Takes all of 0.02 seconds on my machine!

David Bailey
http://www.dbaileyconsultancy.co.uk


  • Prev by Date: Re: conditionals on lists
  • Next by Date: Re: Coding an inverse permutation
  • Previous by thread: Re: fast way of appending x zeros to a list?
  • Next by thread: Re: fast way of appending x zeros to a list?