在一个数组中平均每3个点取一个值,并将新值保存到一个新数组中

2024-04-26 03:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图取数组中每3个点的平均值,并将新值输出到新数组中。但是,我的代码中肯定有什么地方出错了,因为我一直收到相同的错误消息

这是我的密码:

# y average values

avgy = [0]*(len(y1)//3)

for i in range (0, len(y1)-2):
    if (3*(1+i)<=len(y1)):
        avgy[i] = ( y1[3*i+1] + y1[3*i+2] y1[3*i])/3


# x average values

avgx = [0]*(len(x1)//3)

for i in range (0, len(x1)-2):
    if (3*(1+i)<=len(x1)):
        avgx[i] = ( x1[3*i+1] + x1[3*i+2] x1[3*i])/3

错误消息:

 File "<ipython-input-12-bebc7029e3d1>", line 16
    avgy[i] = ( y1[3*i+1] + y1[3*i+2] y1[3*i])/3
                                       ^
SyntaxError: invalid syntax

提前谢谢, 奥利弗


Tags: in消息forlenif错误range数组
1条回答
网友
1楼 · 发布于 2024-04-26 03:27:07

y1[3*i])/3和x1[3*i])/3之前缺少+

# y average values

avgy = [0]*(len(y1)//3)

for i in range (0, len(y1)-2):
    if (3*(1+i)<=len(y1)):
        avgy[i] = ( y1[3*i+1] + y1[3*i+2] + y1[3*i])/3


# x average values

avgx = [0]*(len(x1)//3)

for i in range (0, len(x1)-2):
    if (3*(1+i)<=len(x1)):
        avgx[i] = ( x1[3*i+1] + x1[3*i+2] + x1[3*i])/3

相关问题 更多 >