Сгенерировать массив пар чисел из двух векторов numpy

Вопрос: Есть ли простой способ в Numpy создать массив пар чисел из 2 массивов 1D numpy (векторов) без цикла? вход: a = [1, 2, 3] b = [4, 5, 6] вывод: c = [(1,4), (1,5), (1,6), (2,4), (3,5), (2,6), (3,4), (3,5), (3,6)] Мне интересно, есть ли функция, которая делает что-то похожее на это: c =

Вопрос:

Есть ли простой способ в Numpy создать массив пар чисел из 2 массивов 1D numpy (векторов) без цикла?

вход:

a = [1, 2, 3] b = [4, 5, 6]

вывод:

c = [(1,4), (1,5), (1,6), (2,4), (3,5), (2,6), (3,4), (3,5), (3,6)]

Мне интересно, есть ли функция, которая делает что-то похожее на это:

c = [] for i in range(len(a)): for j in range(len(b)): c.append((a[i], b[j])) Лучший ответ:

Вы можете использовать itertools.product для этого:

from itertools import product c = list(product(a, b))

Это дает:

c == [(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]

Оцените статью
Добавить комментарий