range and xrange

The range([start,] stop [,stride]) function constructs a list of integers

     a = range(100)         # a = [0,1,2,3,4,..., 99]
     b = range(10,100)      # b = [10,11,12,..., 99]
     c = range(10,100,5)    # c = [10,15,20,..., 95]
     d = range(100,0,-5)    # d = [100,95,90,..., 5]
  • This is commonly used in looping constructs
     for i in range(0,100):
         statements
  • But it consumes a lot of memory for large ranges

xrange([start,] stop [,stride]) computes its values

     a = xrange(0,1000000000,5)
     b = a[198763233]
     for i in a:
         statements
  • In general, xrange() is better if looping over many values
<<< O'Reilly OSCON 2000, Introduction to Python, Slide 68
July 17, 2000, beazley@cs.uchicago.edu
>>>