如何用Python从N个数中筛选出最大的K个数字?
- 内容介绍
- 文章标签
- 相关推荐
本文共计905个文字,预计阅读时间需要4分钟。
提出问题:如何在某集合中找出最大或最小的K个元素。
解决思路:找出最大或最小的K个元素,可以使用Python库中的heapq模块。该模块提供两个函数:nlargest(n, iterable)用于求最大的K个元素,nsmallest(n, iterable)用于求最小的K个元素。
提出问题:
如何在某集合里面找出最大或最小的K个元素。
解决思路:
找出最大或最下的K个元素,可以使用Python库中的heapq模块,该模块提供两个函数nlargest()求最大K个和nsmallest()求最小K个。
下面我们举例说明:
import heapq nums=[12,-9,-3,32,9,56,23,0,11,34] print(heapq.nlargest(4,nums)) #-->最大的4个 print(heapq.nsmallest(4,nums)) #-->最小的4个
运行结果:
[56, 34, 32, 23]
[-9, -3, 0, 9]
分析下,nlargest()和nsmallest()函数有两个参数,第一个参数是求最大或最下的K个元素,第二个参数是待查询的集合。除此之外,他们也可以接受一个参数key,这使得他们处理更加复杂的数据结构。
本文共计905个文字,预计阅读时间需要4分钟。
提出问题:如何在某集合中找出最大或最小的K个元素。
解决思路:找出最大或最小的K个元素,可以使用Python库中的heapq模块。该模块提供两个函数:nlargest(n, iterable)用于求最大的K个元素,nsmallest(n, iterable)用于求最小的K个元素。
提出问题:
如何在某集合里面找出最大或最小的K个元素。
解决思路:
找出最大或最下的K个元素,可以使用Python库中的heapq模块,该模块提供两个函数nlargest()求最大K个和nsmallest()求最小K个。
下面我们举例说明:
import heapq nums=[12,-9,-3,32,9,56,23,0,11,34] print(heapq.nlargest(4,nums)) #-->最大的4个 print(heapq.nsmallest(4,nums)) #-->最小的4个
运行结果:
[56, 34, 32, 23]
[-9, -3, 0, 9]
分析下,nlargest()和nsmallest()函数有两个参数,第一个参数是求最大或最下的K个元素,第二个参数是待查询的集合。除此之外,他们也可以接受一个参数key,这使得他们处理更加复杂的数据结构。

