def linspace(start, end, number_of_points):
    """
    Generate a list of floats from start to end containing number_of_points elements.
    clone of NumPy function with same name.
    :param start: starting point of list.
    :param end: ending point of list.
    :param number_of_points: number of points in returned list.
    """
    if start >= end:
        raise ValueError(
            'The starting value must be less than the ending value.')
    if number_of_points < 2:
        raise ValueError('The space must contain at least two points.')
    interval = (end - start) / (number_of_points - 1)
    return [start + interval * i for i in range(number_of_points)]