如何在python中平均列表的某些大小的子部分?

JBW*_*ore 0 python average list

我想从一个特定大小的列表(或数组)中咬一口,返回该咬的平均值,然后继续下一口,再重复一遍.有没有办法在不编写for循环的情况下执行此操作?

In [1]: import numpy as np
In [2]: x = range(10)
In [3]: np.average(x[:4])
Out[3]: 1.5
In [4]: np.average(x[4:8])
Out[4]: 5.5
In [5]: np.average(x[8:])
Out[5]: 8.5
Run Code Online (Sandbox Code Playgroud)

我正在寻找像np.average(x [:bitesize = 4])这样的东西:[1.5,5.5,8.5].

我已经看过切片阵列和逐步遍历数组,但我没有发现任何像我想要发生的事情.

Jam*_*olk 5

[np.average(x[i:i+4]) for i in xrange(0, len(x), 4) ]