Рассмотрим следующие numpy.arrays
:Zip неровные Numpy массивы
a = np.array([1., 2., 3.])
b = np.array([4., 5.])
c = np.array([6., 7.])
мне нужно совместить эти, так что я в конечном итоге со следующим:
[(1., 4., 6.), (1., 5., 7.), (2., 4., 6.), (2., 5., 7.), (3., 4., 6.), (3., 5., 7.)]
Обратите внимание, что в этом случае массив a
случается быть самым большим массивом. Однако это не гарантировано. Также не гарантируется длина. Другими словами, любой массив может быть самым длинным, и каждый массив имеет произвольную длину.
Я пробовал использовать itertools.izip_longest
, но я могу использовать только fillvalue
для кортежа с 3.
, который не сработает. Я также попробовал itertools.product
, но мой результат не является истинным декартовым продуктом.
Что именно вы хотите, чтобы это произошло, когда 'a' не является самым большим массивом? – LRP
Вы говорите, что каждый массив имеет произвольную длину. Итак, если 'b' и' c' имеют разные размеры, я не вижу, как вы могли бы получить результат. Попробуйте добавить еще один образец ввода-вывода для покрытия такого случая? – Divakar
Должно быть уточнено. Все массивы такого же размера, кроме большого. Например, 'a' может иметь длину' m', но 'b' и' c' будут иметь одинаковую длину 'n'. –