如何计算范围为 10 的数组的平均值?

how to calculate the average of an array by range 10?

我正在尝试在排序数组中按范围 10 查找数组的平均值,例如:[1,2,3,5,11,12,13,15,22,25,27,30] 应该 return [6,17,27]
该函数应该按 10 的范围对数字进行分组,并取平均值 [1,2,3,5,11] = (1+11)/2 =6

[12,13,15,22]= (12+22)/2 =17

[25,27,30] = (25+30)/2 =27

这是我的代码

def par(s):

    g = []
    i = 0
    while i <= len(s):
        y =s[i] + 10

        n = (s[i]+y)/2
        g.append(n)

        for x in s:
            if y <= x:
                i = s.index(x)
                break

    return g 
data = [1,2,3,5,11,12,13,15,22,25,27,30]

# divide it into blocks like [[a .. a+10], [b .. b+10], ...]
result = []
block  = None
for d in data:
    if block:
        if d <= hi:
            # belongs to current block
            block.append(d)
        else:
            # start a new block
            result.append(block)  # finish previous block
            block = [d]           # start new block
            lo, hi = d, d + 10    # reset endpoints for new block
    else:
        # special handling for first value encountered
        block = [d]
        lo, hi = d, d + 10
# cleanup
if block:
    result.append(block)

# result = [[1, 2, 3, 5, 11], [12, 13, 15, 22], [25, 27, 30]]

# find midpoint for each block
mid_points = [(block[0] + block[-1]) // 2 for block in result]

# mid_points = [6, 17, 27]