Perché o perché no?
range(1000)
è a list
, xrange(1000)
è un oggetto che si comporta come un generator
(anche se certamente non lo è ). Inoltre, xrange
è più veloce. Puoi import timeit from timeit
e quindi creare un metodo che ha appena for i in xrange: pass
e un altro per range
, quindi fai timeit(method1)
e timeit(method2)
e, ecco ed ecco, xrange è quasi due volte più veloce a volte (cioè quando non hai bisogno di un elenco). (Per me, per i in xrange(1000):pass
vs per ha i in range(1000):pass
preso rispettivamente 13.316725969314575
vs 21.190124988555908
secondi - è molto.)