首页 > 解决方案 > 列表中具有固定增量的特定数字的平均值

问题描述


假设我有下面的列表

array=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15]

我想找到增量为 4 个数字的第一个元素的平均值。
例如,第一个平均值将用于数字0, 4, 8, 12 = 6
第二个平均值将用于数字1, 5, 9, 13 = 7
如此一来,最终将有 4 个数字表示平均值。
我写了
Av=[] mean =0 array=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15] for i in range(len(array)): for n in 4: mean = array[n] +mean mean = mean/4 Av.append(mean)
但它不会增加循环。
问候

标签: pythonpython-3.x

解决方案


您可以使用python 切片运算符而不是 for 循环。

av = []
array=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
for i in range(4):
    av.append(sum(array[i::4])/len(array[i::4]))

这是做什么的:

该操作[::4]需要每 4 个元素。该操作[i::4]从第 i 个元素开始,每第 4 个元素进行一次。

列表的平均值只是其元素的总和除以其长度。


推荐阅读