python返回list列表中最大(最小)的几个值以及索引方法

时间:2025-03-07 17:12:41

方法一:

在数组无序且没有重复元素时,可以考虑用heapq模块进行抽出最大的几个元素,用map进行键值对的匹配,返回最大(最小)的几个元素的索引值。

import heapq

# 获取list中最大(最小)的n个值
(n, list)
(n, list)

# 获取list中最大几个值的索引的列表
list(map(, (n, list)))
list(map(, (n, list)))

 在有重复元素时并不能使用该方法,会出现键值匹配混乱。

方法二:

数组无序且有重复元素时,可以考虑使用pandas模块,先对一位数组进行索引匹配,然后排序,返回最大(最小)的多个值的索引。

import pandas as pd

# 对list数组元素进行排序(默认从小到大)
(list).sort_values()
(list).sort_values(ascending = False)  # 从大到小

# 选取list数组元素中最大(最小)的n个值的索引
(a).sort_values().index[:n].
(a).sort_values(ascending = False).index[:n]