si vous souhaitez choisir la mise en forme de chaîne, comme beaucoup suggéré, et que vous utilisez un Python pas moins de 2.6, prenez soin d'utiliser la mise en forme de chaîne dans sa dernière incarnation. Au lieu de:
["%04d" % idx for idx in xrange(10000)]
it is suggested d'opter pour:
["{0:0>4}".format(i) for i in xrange(1000)]
En effet, cette dernière manière est utilisée en Python 3 comme langage par défaut pour les chaînes de format et je suppose que c'est une bonne idée d'améliorer votre code portabilité vers les futures versions de Python.
Comme quelqu'un l'a dit dans les commentaires, en Python 2.7+ il n'y a pas besoin de préciser l'argument de position, de sorte que cela est aussi valable:
["{:0>4}".format(i) for i in xrange(1000)]
Votre 'range()' appel ne produit pas réellement 9999 , mais s'arrêtant à 9998. Ceci est dû au fait que l'argument "end" de range() 'est une limite inférieure à la limite, comme dans" générer tous les nombres commençant par 0 et moins de 9999 ". Vous devez utiliser 10000 à la place. –
J'ai compris. Merci. – LynxLee
Si vous optez pour la mise en forme de chaîne, [veuillez préférer] (http://docs.python.org/library/stdtypes.html#str.format) str.format (* args, ** kwargs) à% formatting.' [ "{0: 0> 4}". Format (i) pour i dans xrange (10)] ' – Paolo