масштабирование векторов с использованием последовательности чисел в Python - PullRequest
1 голос
/ 23 апреля 2020

Я хочу масштабировать вектор k = [1, 2, 3] несколько раз, используя последовательность чисел s = [2, 4, 6, 8, 10]. Ожидаемый результат - [2, 4, 6], [4, 8, 12], .... Как я могу сделать это без использования циклов в Python? Использование al oop нежелательно, так как в моей реальной задаче длина s составляет миллион, а фактические вычисления включают в себя больше операций, чем просто масштабирование.

1 Ответ

0 голосов
/ 23 апреля 2020

С numpy библиотекой

import numpy as np

k =[1,2,3]
s=[2,4,6,8,10]

np.multiply.outer(k, s).T

#your result will be:
array([[ 2,  4,  6],
       [ 4,  8, 12],
       [ 6, 12, 18],
       [ 8, 16, 24],
       [10, 20, 30]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...