python 问题:有一段数组,我想把它分成几个区间,取每个区间的最大值存到另一个数组里

比如数组a[1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1,0]
我想把a分成6个区间,分别取每个区间的最大值
用for 循环怎么写啊。。。
for i in range(len(a)/N)
idx[i]=np.argmax()
#####这种形式的

length = len(a) / N ##区间的平均长队,N当你是要分配的区间
idx = [None] * N  #先为结果分配一个存储空间
for i in range(N):
    if i == N -1:
        idx[i] = max(a[ i * length : len(a) + 1])  ## 防止最后一个区间长度不等于平均长度,比如a长度为19时,后面全当一个区间
    else:
        idx[i] = max(a[i *length : (i+1) *length])

        

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-30
block = 3 # 区间大小[max(arr[i:i+block+1]) for i in range(0, len(arr),block)]
第2个回答  2015-04-29
第二种方法
第3个回答  2015-04-28
请看其中一种方法
相似回答