Я пытаюсь получить координаты n-мерного куба из списка мин и макс для каждого измерения. Я могу использовать углы для петель, но я бы хотел обобщить их для любого числа измерений.
Так, например:
mins = [-1,-2,-3]
maxes = [1,2,3]
даст координаты:
(-1, -2, -3), (-1, -2, 3), (-1, 2, -3), (-1, 2, 3),
(1, 2, 3), (1, 2, -3), (1, -2, 3), (1, -2, -3)
По сути, это поиск всех путей через два списка, выбор значения из одного из списков для каждого индекса. Я видел алгоритмы для определения количества путей или самого быстрого пути, но я не нашел ни одного, который бы перечислял все возможные пути.
Я бы предположил, что itertools придет в решение, но не может понять, как использовать продукты, перестановки и комбинации таким образом, чтобы получить желаемый результат. Ближайшим был:
list(itertools.product((xmin, xmax), (ymin, ymax), (zmin, zmax)))