新学python,出现这个问题TypeError: 'int' object is not subscriptable,希望能教我一下

def test(maxs):#给列表定义一个计算公式
for max in maxs:#列表循环
a=0
b=1
if b<=len(maxs):#b小于或列表元素数量时,继续进行循环
avg = divid(add(max[{a}], max[{b}]), 2)#求两个值的平均值,a,b为列表中元素的位置信息
print(int(avg))#输出二者的平均值
a += 1
b += 1 #循环继续时,各项加1,继续循环
continue
else:
break #停止循环

z = [1,2,3,4,5,6,7]
test(z)

出错是:max[{a}]和max[{b}],z是列表/数组,在for循环max是z列表/数组中的元素。
可以改成:

def test(maxs):
    if maxs is None or type(maxs) != type([]) or len(maxs) < 1:
        return
    if len(maxs) == 1:
        # print(maxs[0])
        return
    for i in range(len(maxs) - 1):
        avg = divid(add(maxs[i], maxs[i+1]), 2)#求两个值的平均值
        print(int(avg))#输出二者的平均值