def manhatten_distance(first, second):
    """
    Given two vectors, returns the manhatten distance between them
    Requires that they are the same dimension

    :param first: a vector
    :param second: a vector

    :return: the distance as a double
    """
    if len(first) != len(second):
        raise Exception("These vectors must be the same size")

    return sum([abs(x - y) for x, y in zip(first, second)])