多个numpy数组的点积

时间:2017-10-08 19:15:57

标签: python numpy dictionary dot-product

我在Python3中有以下代码:

T s = {...};

但是,我收到了错误:

  matrix = np.array([[1,2,3],
                     [2,3,4],
                     [5,3,4]])

  sig_d1 = np.array([[1, 0, 0],
                    [0, 0, -1],
                    [0, -1, 0]])


 sig_d2 = np.array([[1, 0, 0],
                    [0, 0, 1],
                    [0, 1, 0]])

 for i in range(1,3):
     product=np.dot(sig_d+i,matrix)

有人能给予一些支持吗?

1 个答案:

答案 0 :(得分:2)

Python不允许您按照尝试的方式动态访问变量。执行此操作的最佳方法是将数组放入字典中,并通过键字符串访问值。

array_dict = {'sig_d1' : sig_d1, 'sig_d2' : sig_d2}

for i in range(1,3):
    product = np.dot(array_dict['sig_d{}'.format(i)], matrix)

如果您有更多数组,我建议您采用更智能的方式初始化array_dict,可能是通过循环或 dict理解