【发布时间】:2019-03-15 12:57:44
【问题描述】:
我试图取一个数组中每 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
提前致谢, 奥利弗
【问题讨论】:
-
您缺少加号
+。在 Python 中,数字不会仅仅靠彼此相邻而相加。 :P -
感谢您发现错字!
-
那么,对于 [1,2,3,4,5,6] 你想要 [average([1,2,3]), average([4,5,6])]?
-
不,我正在寻找:([1,2,3,4,5,6]) 每三个数据点的平均值,即 ([2,5])
标签: python arrays python-3.x loops for-loop