gpt4 book ai didi

Python 西格玛和

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:07 25 4
gpt4 key购买 nike

我有一个值列表x=[1,-1,-1,1,1,-1,1,-1,1,-1]我还有另一个空白列表y=[ ]

我正在尝试创建一个函数,它将对 x 中的值求和并将它们存储在 y 中。

例如,y[0] 应该是 x[0]*x[0] + x[0]*x[1] + x[0]* x[2] + ... + x[0]*x[9] .

同样,y[1] 应该是 x[1]*x[0] + x[1]*x[1] + x[1]*x 的总和[2]+ ... + x[1]*x[9]

必须对 y[0] 到 y[9] 执行此操作。

此外,在求和中,x[i]*x[i] 必须为零。因此,例如在 y[0] 中,x[0]*x[0] 必须为零。同样,在 y[1] 的总和中,x[1]*x[1] 必须为零。

这是我的代码,但它总是给我一些关于索引的错误:

x=[1,-1,-1,1,1,-1,1,-1,1,-1]
y=[]
def list_extender(parameter):
for i in parameter:
parameter[i]*parameter[i]==0
variable=numpy.sum(parameter[i]*parameter[:])
if variable>0:
variable=1
if variable<0:
variable=-1
y.append(variable)
return y

然后我运行 print list_extender(x) 应该打印列表 y 和上面描述的总和,但我总是得到一个错误。我做错了什么?非常感谢您的帮助!

最佳答案

您在这里进行了过多的输入和计算。如果您先计算 x 的总和,然后使用它来计算 y 的元素,您的函数可能会更短更简单。它还会运行得更快。

只需这样做:

x_sum = sum(x)
y = [item * (x_sum - item) for item in x]
# or, if you really want to store the results into an existing list y
# y[:] = [item * (x_sum - item) for item in x]

如果您使用的是 numpy,请将 sum 和列表理解替换为 numpy 操作:

import numpy as np
x = np.array([1,-1,-1,1,1,-1,1,-1,1,-1])
y = x * (x.sum() - x)

关于Python 西格玛和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17621520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com