Pourquoi ou pourquoi pas?
range(1000)
est un list
, xrange(1000)
est un objet qui agit comme un generator
(bien qu'il n'en soit certainement pas un). Aussi, xrange
c'est plus rapide. Vous pouvez import timeit from timeit
et ensuite créer une méthode qui a juste for i in xrange: pass
et une autre pour range
, puis faire timeit(method1)
et timeit(method2)
et, et voilà, xrange est presque deux fois plus rapide parfois (c'est quand vous n'avez pas besoin d'une liste). (Pour moi, pour i in xrange(1000):pass
vs pour a i in range(1000):pass
pris 13.316725969314575
vs 21.190124988555908
secondes respectivement - c'est beaucoup.)