多项式数组程序的索引错误

时间:2014-10-08 17:50:54

标签: python list

我有这个代码接收我想要乘法的两个列表(假设是按电源顺序)。但是,我不断收到索引错误,我不明白为什么。

def multiply(a, b):
a.reverse()
b.reverse()
c=[]
al = len(a)
bl = len(b)

for i in range (al):
    for j in range (bl):
        k = a[i]*b[j]
        ii=i+j
        c[ii]+=k

c.reverse()

return (c)

1 个答案:

答案 0 :(得分:1)

    c[ii]+=k

这一行会导致错误,因为c [ii]超过了列表的末尾。

您无法通过指定超出范围的索引来增加列表的大小;你必须使用诸如appendextend之类的变异方法,或者只是创建已经存在其元素的列表。

c = [0 for _ in range(len(a) + len(b))]