将两个列表相乘

时间:2020-03-01 06:17:35

标签: python python-3.x list sum multiplication

我有一个需要使用的公式(附有图像)。我有两个列表,x和y。我的问题是我需要在M的公式中将这两个列表相乘。但是似乎我无法在python中将列表相乘。如何使用两个列表为M编码?这是我当前的代码

m = (1/D)sum((([(xi-xbar) for xi in x]))*([(yi*1) for yi in y]))
print('m',m)

我收到错误消息“不能将序列乘以'list'类型的非整数”

如何将两个列表相乘,谢谢!

Formula

2 个答案:

答案 0 :(得分:1)

您要这样做。

m=sum((xi-mean(x))*yi)

您可以尝试一下。

from statistics import mean
x=[1,2,3,4,5]
y=[6,7,8,9,10]

mean_x=mean(x)

m=(1/D)*sum((i-mean_x)*j for i,j in zip(x,y))
c=mean(y)-(m*mean_x)

答案 1 :(得分:-1)

您可以在python中使用zip函数来创建配对2列表。

list_a=[1,2,3]
list_b=[4,5,6]
multiplied_ab=[]
for i,j in zip(list_a,list_b):
    multiplied_ab.append(i,j)
print(multiplied_ab)

您的结果将是两个列表的乘积,如下所示: [4,10,18]

您必须确保两个列表的长度匹配。

然后,您可以使用sum()函数简单地计算列表的总和