Ce qui ne l' [0]*x syntaxe faire en Python?

Un flash question, je suis en train de regarder le code suivant

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

et je me demandais (je ne connais pas python):

  • quoi le X =[0] * N de ligne faire?
  • pourquoi le double astérisque ** ?
  • Merci à vous tous pour vos réponses!
  • pourquoi ne pas vous essayer par vous-même? Par exemple, quelque chose comme >>> [0] * 10 dans votre interpréteur shell aurait été suffisant...
InformationsquelleAutor Paul | 2011-05-15