import itertools as it
lower_corner = [2, -2]
upper_corner = [5, 3]
[coord for coord in it.product(*[list(range(r[0], r[1])) for r in zip(
    lower_corner, upper_corner)])]
[(2, -2), (2, -1), (2, 0), (2, 1), (2, 2), (3, -2), (3, -1), (3, 0), (3, 1),
    (3, 2), (4, -2), (4, -1), (4, 0), (4, 1), (4, 2)]
Создайте n-мерный массив координат в numpy