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 timeite quindi creare un metodo che ha appena for i in xrange: passe 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):passvs per ha i in range(1000):passpreso rispettivamente 13.316725969314575vs 21.190124988555908secondi - è molto.)