title: What does the [0]*x syntax do in Python?
body: <p>A flash question, I'm looking at the following code</p>
  
  <pre><code>from __future__ import division
  import math
  import time
  
  def dft(x, inverse = False, verbose = False) :
      t = time.clock()
      N = len(x)
      inv = -1 if not inverse else 1
      X =[0] * N
      for k in xrange(N) :
          for n in xrange(N) :
              X[k] += x[n] * math.e**(inv * 2j * math.pi * k * n / N)
          if inverse :
              X[k] /= N
      t = time.clock() - t
      if verbose :
          print "Computed","an inverse" if inverse else "a","DFT of size",N,
          print "in",t,"sec."
      return X
  </code></pre>
  
  <p>and I'm wondering (I do not know python):</p>
  
  <ul>
  <li>what does the X =[0] * N line do?</li>
  <li>why the double asterisk ** ?</li>
  </ul>