Python 列表(数组) 获取最大/最小几个值及其下标

import heapq

arr = [20,100,2,3,1,0,1000,156,30,7]

##求最大的5个值
arr_max = heapq.nlargest(5,arr)#获取前五大的值并排序
index_max = map(arr.index,arr_max)#获取前五大的值下标
print(arr_max)
print(list(index_max))#map生成的对象要转化成为list才能输出

##求最小的5个值
arr_min = heapq.nsmallest(5,arr)#获取最小的五个值并排序
index_min = map(arr.index,arr_min)#获取最小的五个值的下标
print(arr_min)
print(list(index_min))#map生成的对象要转化成为list才能输出

你可能感兴趣的:(Python学习笔记,python,list)