迭代多个数组最有效的Python方法是什么



我正在将一些matlab代码转换为python,并想知道迭代几个numpy数组的最佳方法。我在下面列出了我的解决方案,但想听听关于如何改进它的建议?感谢

Matlab——

for i = 1:3
for j = 1:3
pT(i) = dC(i,j)*p(j) + pT(i);
end
end

Python——

for i in range(0,3):
for j in range(0,3):
pT[0][i] = np.dot(dC[i][j],p[0][j]) + pT[0][i]

dC是3x3阵列,ppT是1x3阵列。

这只是p @ dC.transpose() + pT,实际上并不需要循环。

import numpy as np 
pT = np.array([1, 2, 3])
p  = np.array([4, 5, 6])
dC = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
pT = p @ dC.transpose() + pT    # [ 33  79 125]

相关内容

  • 没有找到相关文章

最新更新