range vs xrange in Python
- range
- xrange
from __future__ import print_function
import sys
r = range(1000)
x = xrange(1000)
for v in r: # 0..999
pass
for v in x: # 0..999
pass
print(sys.getsizeof(r)) # 8072
print(sys.getsizeof(x)) # 40
In Python 2 range
creates a list of values range(from, to, step)
and xrnage
creates and iterator.
In Python 3 range
creates the iterator and if really necesary then list(range())
can create the list.