numpy对n个矩阵连续相加的问题

提问不让我发病(指不能急)

在处理N个矩阵相加时,不同处理得到不同结果
# 方法 1
for im, weight in imgs, weights:
    pred = pred + im*weight
"""结果
[[1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 1.16 0.16 0.16 0.16 0.16 0.16 0.16 1.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 1.16 0.16 0.16 0.16 0.16 1.16 1.16 1.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 1.16 1.16 0.16 0.16 0.16 0.16 1.16 1.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 1.16 1.16 0.16 0.16 0.16 0.16 1.16 1.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 1.16 1.16 0.16 0.16 0.16 0.16 1.16 1.16 1.16 1.16 1.16
  1.16 1.16]
 [1.16 1.16 1.16 1.16 1.16 0.16 0.16 0.16 1.16 1.16 1.16 1.16 1.16 1.16
  1.16 1.16]]
"""

#方法2
pred=imgs[0] * weights[0] +imgs[1]+weights[1]
"""结果
[[2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2. ] 
 [2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2. ] 
 [2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2. ] 
 [2.  2.  1.8 0.8 0.8 0.8 0.8 0.8 0.8 1.  1.  2.  2.  2.  2.  2. ] 
 [2.  2.  0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 1.  1.  2.  2.  2.  2. ] 
 [2.  2.  2.  1.8 1.8 0.8 0.8 0.8 0.8 0.8 1.  1.  2.  2.  2.  2. ] 
 [2.  2.  2.  1.8 1.8 1.8 1.8 1.8 0.8 0.8 1.  1.  2.  2.  2.  2. ] 
 [2.  2.  2.  1.8 1.8 1.8 1.8 1.8 0.8 1.  1.  1.  2.  2.  2.  2. ] 
 [2.  2.  2.  1.8 1.8 0.8 0.8 1.  1.  1.  1.  1.  2.  2.  2.  2. ] 
 [2.  2.  2.  1.8 0.8 0.8 0.8 1.  1.  1.  1.  2.  2.  2.  2.  2. ] 
 [2.  2.  2.  2.  0.8 0.8 0.8 1.  1.  1.  2.  2.  2.  2.  2.  2. ] 
 [2.  2.  2.  2.  1.8 1.8 1.  1.  2.  2.  2.  2.  2.  2.  2.  2. ] 
 [2.  2.  2.  2.  2.  1.  1.  1.  1.  2.  2.  2.  2.  2.  2.  2. ] 
 [2.  2.  2.  2.  2.  1.  1.  1.  1.  2.  2.  2.  2.  2.  2.  2. ] 
 [2.  2.  2.  2.  2.  1.  1.  1.  1.  2.  2.  2.  2.  2.  2.  2. ] 
 [2.  2.  2.  2.  2.  1.  1.  1.  2.  2.  2.  2.  2.  2.  2.  2. ]]
"""
请问这是什么原因,在网上只能查到两个矩阵相加的(\流汗黄豆)
这篇文章:Numpy中矩阵运算 也许有你想要的答案,你可以看看