我有一个大小为V
的向量n
。我想创建一个大小为n*n
的矩阵,以便矩阵中的每个值都为M(i,j) = V(i)*V(j)
。
许多循环会解决它,但我需要它相当快。
答案 0 :(得分:1)
这就是外部产品
import numpy as np
v = np.random.randint(0, 10, 3)
print v
M = np.outer(v,v)
print M
答案 1 :(得分:0)
我建议使用numpy。但是,这是一个使用列表理解的纯python解决方案:
v = [5, 1, 9]
>>> [[row * col for row in v] for col in v]
[[25, 5, 45], [5, 1, 9], [45, 9, 81]]