python:列表索引在矩阵乘法中超出范围

时间:2018-02-22 14:43:48

标签: python list function matrix matrix-multiplication

我是python的新手,所以如果这是一个愚蠢的问题,我很抱歉。这是矩阵乘法的合法程序,但我不明白为什么它将错误列表索引抛出我的输入范围之外?

def matmult(a,b):
 product=[[0 for i in range(len(a))] for j in range(len(b[0]))]
 for i in range(len(a)):
    for j in range(len(b[0])):
      for k in range(len(b)):
        product[i][j]+=a[i][k]*b[k][j]
 return product
matmult([[1,1]],[[3,4],[5,6]])

1 个答案:

答案 0 :(得分:1)

这是因为x。产品列表为空,但您正在为其编制索引。这就是抛出product=[]错误

改为

IndexError: list index out of range

这将为产品预先分配空间,以便您可以将其编入索引

相关问题