将两个列表相乘
Multiplying two lists in a sum
我有一个公式(附图)需要使用。我有两个列表,x 和 y。我的问题是我需要在 M 的公式中将这两个列表相乘。但似乎我不能在 python 中乘以列表。如何使用两个列表为 M 编码?这是我当前的代码
m = (1/D)sum((([(xi-xbar) for xi in x]))*([(yi*1) for yi in y]))
print('m',m)
我收到错误 "can't multiply sequence by non-int of type 'list'"
如何将两个列表相乘,谢谢!
您可以使用 python 中的 zip 函数来生成 pair 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)
您的结果将是 2 个列表的乘积,如下所示:
[4,10,18]
您必须确保 2 个列表的长度匹配。
然后你可以简单地使用sum()
函数计算列表的总和
您想这样做。
m=sum((x<sub>i</sub>-mean(x))*y<sub>i</sub>)
你可以试试这个。
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)
我有一个公式(附图)需要使用。我有两个列表,x 和 y。我的问题是我需要在 M 的公式中将这两个列表相乘。但似乎我不能在 python 中乘以列表。如何使用两个列表为 M 编码?这是我当前的代码
m = (1/D)sum((([(xi-xbar) for xi in x]))*([(yi*1) for yi in y]))
print('m',m)
我收到错误 "can't multiply sequence by non-int of type 'list'"
如何将两个列表相乘,谢谢!
您可以使用 python 中的 zip 函数来生成 pair 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)
您的结果将是 2 个列表的乘积,如下所示: [4,10,18]
您必须确保 2 个列表的长度匹配。
然后你可以简单地使用sum()
函数计算列表的总和
您想这样做。
m=sum((x<sub>i</sub>-mean(x))*y<sub>i</sub>)
你可以试试这个。
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)