Разница между функциями range и xrange в Python 2.X заключается в том, что range возвращает список, а xrange — объект генератора. 25
range создаёт список, который содержит всю последовательность чисел сразу. 1 Если диапазон достаточно большой, range может занять много памяти. 1
xrange создаёт объект, который генерирует каждое число в последовательности по требованию, то есть по мере итерации. 1 Это называется «ленивой» генерацией, и она более эффективна по памяти, особенно для больших диапазонов. 1
Например, если диапазон из 10 миллионов элементов, range создаст список из 10 миллионов элементов и сохранит его в памяти, в то время как xrange создаст только одно значение за раз, существенно экономя память. 1