Apparemment xrange est plus rapide mais j’ai aucune idée pourquoi il est plus rapide (et aucune preuve en plus de l’anecdotique jusqu'à maintenant qu’il est plus rapide) ou ce qui par ailleurs est différent au sujet de
Réponses
Trop de publicités?
Corey
Points
5286
<blockquote>
<p>gamme crée une liste, donc si vous varier (1, 10000000) il crée une liste en mémoire avec 10000000 éléments.
XRange est un générateur, donc il prend la valeur paresseusement.</p>
<p>C’est vrai, mais en Python 3, gamme sera exécuté par le xrange() 2 Python. Si vous avez besoin pour générer en fait la liste, vous devrez faire :</p><pre><code></code></pre></blockquote>
John Fouhy
Points
14700
N’oubliez pas, le module timeit permet de vérifier laquelle des petites snipps de code est plus rapide !
Personnellement, j’ai toujours utiliser range(), à moins que j’étais face à vraiment des listes énormes--comme vous pouvez le voir, LeRiz, pour une liste d’entrées 1 million, l’extra frais généraux est seules 0,04 secondes. Et comme le souligne Corey, dans Python 3.0 xrange vont disparaître et gamme vous donnera comportement itérateur agréable quand même.
efotinis
Points
6338
Ben Hoffstein
Points
44398