def in_between_points_list(points, subdivision):
    """
    This will in-between a list of points, where it will add a number of points equal to subdivisions between each point

    :param points: A list of points, that may be Tuples or Lists or (x, y) or Vector2D.
    :type points: list

    :param subdivision: The number of points to add between each set of points
    :type subdivision: int

    :return: A list of Vector2D points
    :rtype: list[Vector2D]
    """

    # Create a number of points equal to subdivision between each point
    sub_divided = []
    for index, point in enumerate(points):
        if index == 0:
            sub_divided.append(point)
        else:
            for sub in point.sub_divide(points[index - 1], subdivision, from_self=False, include_points=False):
                sub_divided.append(sub)
            sub_divided.append(point)
    return sub_divided