python知识点梳理--找到最大或者最小的N个元素
2018-11-13 08:10
302 查看
python知识点梳理–找到最大或者最小的N个元素
问题
我们想在列表中找到最大或者最小的N个元素.
解决方法
我们可以使用heapq模块中的nlargest()或者nsmallest()函数来完成这个目标.
示例1
import heapq nums = [3, -1, 2, 9, 12, 4] N = 3 element_smallest = heapq.nsmallest(N, nums) print("the smallest {} elements is {}".format(N, element_smallest))
以上代码的运行结果是
the smallest 3 elements is [-1, 2, 3].
注意: 返回的结果是从小到大排序的
示例2
import heapq nums = [3, -1, 2, 9, 12, 4] N = 3 element_largest = heapq.nlargest(N, nums) print("the largest {} elements is {}".format(N, element_largest))
以上代码的运行结果是
the largest 3 elements is [12, 9, 4].
注意: 返回的结果是从大到小排序的
如果需要在字典中按某个key-value来取出最大或者最小的N个元素. 也可以使用nlargest()或者nsmallest()函数, 具体做法是传入一个key,和sort()等函数的做法一致,一般为一个lambda表达式.
示例3
portfolio = [ {'name': 'IBM', 'shares': 100, 'price':91.1}, {'name': 'Apple', 'shares':50, 'price':543.22}, {'name': 'FB', 'shares': 200, 'price':21.09}, {'name': 'HPQ', 'shares': 35, 'price':31.75}, {'name': 'YHOO', 'shares': 45, 'price': 16.35}, {'name': 'ACME', 'shares': 75, 'price':115.65} ] cheapest_three = heapq.nlargest(3, portfolio, key = lambda x: x['price']) print(cheapest_three)阅读更多
相关文章推荐
- Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
- python 找到最大或最小的N个元素
- 在一个无序数组中找到第K个最小或者最大的元素
- Python实用黑科技——找出最大/最小的n个元素
- 在一个数组中查找最大的K个元素或者最小的K个元素
- 通过3(2/n)次比较同时找到数组最大和最小值(python)
- 分治法——查找最大最小元素(Python)
- python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
- 找到最大或最小的N个元素---heapq模块
- 从一个集合中查找最大最小的N个元素——Python heapq 堆数据结构
- python 找出list中最大或者最小几个数的索引
- python3-开发进阶 heapq模块(如何查找最大或最小的N个元素)
- Python中查找最大或最小的N个元素
- python便捷找出最大元素,最小元素
- python 找出list中最大或者最小几个数的索引方法
- python 获取list tuple dict中最大和最小元素的操作
- 在N个不同元素的数组A中,同时找到它的最大元素和最小元素,设A中的元素可以直接比较大小
- 从一个集合中查找最大最小的N个元素——Python heapq 堆数据结构
- 找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小(也可能没有鞍点)
- 找出一个二维数组中的“鞍点”,即该位置上的元素在该行中最大,在该列中最小(也可能没鞍点),打印出有关信息