有
heapq.nlargest():
maxvalues = heapq.nlargest(20, lst)
从文档中:
heapq.nlargest(n, iterable, key=None)返回由定义的数据集中n个最大元素的列表
iterable。key(如果提供)指定一个参数的函数,该函数用于从iterable中的每个元素中提取比较键:key=str.lower等效于:sorted(iterable,key=key, reverse=True)[:n]
或以相同的方式使用(
heapq.nsmallest()如果您想要最小的)。
* doc
*重要提示 :
后两个函数[
nlargest和nsmallest]对于的较小值表现最佳n。对于较大的值,使用该sorted()功能效率更高。另外,当时n==1,使用内置函数min()和max()功能会更有效。



