Making a list of evenly spaced numbers in a certain range in python
Question: What is a pythonic way of making list of arbitrary length containing evenly
spaced numbers (not just whole integers) between given bounds? For instance:

    
    
    my_func(0,5,10) # ( lower_bound , upper_bound , length )
    # [ 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5 ] 
    

Note the `Range()` function only deals with integers. And this:

    
    
    def my_func(low,up,leng):
        list = []
        step = (up - low) / float(leng)
        for i in range(leng):
            list.append(low)
            low = low + step
        return list
    

seems too complicated. Any ideas?


Answer: Given numpy, you could use
[linspace](http://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html#numpy-
linspace):

Including the right endpoint (5):

    
    
    In [46]: import numpy as np
    In [47]: np.linspace(0,5,10)
    Out[47]: 
    array([ 0.        ,  0.55555556,  1.11111111,  1.66666667,  2.22222222,
            2.77777778,  3.33333333,  3.88888889,  4.44444444,  5.        ])
    

Excluding the right endpoint:

    
    
    In [48]: np.linspace(0,5,10,endpoint=False)
    Out[48]: array([ 0. ,  0.5,  1. ,  1.5,  2. ,  2.5,  3. ,  3.5,  4. ,  4.5])
    

