📅  最后修改于: 2023-12-03 15:33:57.673000             🧑  作者: Mango
在Python的标准库中,有一个叫做nlargest的函数,用来返回一个列表中最大的N个数字。
heapq.nlargest(n, iterable[, key])
参数说明:
该函数返回由元素组成的列表,列表中的元素是输入可迭代对象中最大的N个数字。
import heapq
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(heapq.nlargest(3, nums)) # 输出 [10, 9, 8]
fruits = [
{'name': 'apple', 'count': 10},
{'name': 'banana', 'count': 5},
{'name': 'pear', 'count': 20},
{'name': 'orange', 'count': 8}
]
print(heapq.nlargest(2, fruits, key=lambda fruit: fruit['count'])) # 输出 [{'name': 'pear', 'count': 20}, {'name': 'apple', 'count': 10}]
该函数通常用于数据分析、机器学习等领域,例如在一个庞大的数据集中,需要找到某些指标最高的数据。此时,可以使用nlargest函数轻松地获得最高指标的前N个数据。