函数
def maxk(arraylist,k):
'''
前k个的索引
'''
maxlist=[]
maxlist_id=range(0,k)
m=[maxlist,maxlist_id]
for i in maxlist_id:
maxlist.append(arraylist[i])
for i in range(k,len(arraylist)):#对目标数组之后的数字
if arraylist[i]>min(maxlist):
mm=maxlist.index(min(maxlist))
del m[0][mm]
del m[1][mm]
m[0].append(arraylist[i])
m[1].append(i)
return maxlist_id
测试
sss=[1,8,2,23,7,-4,18,23,24,37,2]
maxk(sss,3)
结果:
[7, 8, 9]