乘以列表python

时间:2017-02-03 07:01:58

标签: python

我得到了一个包含元素的列表:

table = [ [[0.,0.,1.],[0.,0.,-1.],[0.,0.,0.],[0.,0.,0.]],
          [srB(0, 0),srA(0, 0),[0.,0.,0.],[0.,0.,0.]],
          [spB(Beta, Alpha, PHI), spC(PHI), spA( Alpha, PHI), [0.,0.,0.]],
          [[0.,0.,0.], [0.,0.,0.], srA(0, 0), srB(0, 0)],
          [spB(Beta,Alpha,PHI), spC(PHI), [0.,0.,0.], [0.,0.,0.]],
          [stB(Beta,Alpha,PHI), stC(Beta,Alpha), stA(Beta, PHI), stD(Alpha)]

它对应于以下形状的表格:

    A    B    C    D
    ------------------
rco|     
rnc|
Alp|
rnn|
Bet|
T  |

我想获得一个类型的表:

    rco rnc Alp rnn Bet rnn Bet T
     -----------------------------
rco |
rnc |
Alp |      SOME RESULTS
rnn |
Bet |
T   |

来自表格两侧元素的点积。我的意思是,

  1. 为每个元素rco创建每个元素rco的点积并总结它们
  2. 为每个元素rco创建每个元素rnc的点积并总结它们
  3. 为每个元素rco创建每个元素Alp的点积并总结它们 等
  4. 我尝试了下面的重复:

     S = np.zeros((6,6))
        for i in range(len(stable)):
                for j in range(4):
                        for k in range(len(stable)):
                                for l in range(4):
                                      S[i][k] += np.dot(stable[i][j], stable[k][l])
    

    更新: 看来我解决了这个问题。但是我想知道如何简化我的乘法。收获的元素和我需要的只是获得一个上三角矩阵。 我很乐意提示。

0 个答案:

没有答案