赞
踩
Python示例使用heapq库中的**nlargest()和nsmallest()**函数从元素集合中找到最大(或最小)的N个元素。
Python heapq模块可用于从集合中查找N个最大或最小的项目。它有两个功能可帮助–
example1.py
- >>> import heapq
-
- >>> nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2]
-
- print(heapq.nlargest(3, nums))
-
- >>> [42, 37, 23]
-
- print(heapq.nsmallest(3, nums))
-
- >>> [-4, 1, 2]
example2.py
- >>> portfolio =
- [
-
- {'name': 'IBM', 'shares': 100, 'price': 91.1},
-
- {'name': 'AAPL', '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}
-
- ]
-
- >>> cheap = heapq.nsmallest(3, portfolio, key=lambda s: s['price'])
- >> cheap
- >>> [
- {'price': 16.35, 'name': 'YHOO', 'shares': 45},
-
- {'price': 21.09, 'name': 'FB', 'shares': 200},
-
- {'price': 31.75, 'name': 'HPQ', 'shares': 35}
-
- ]
-
- >>> expensive = heapq.nlargest(3, portfolio, key=lambda s: s['price'])
- >>> expensive
- >>> [
- {'price': 543.22, 'name': 'AAPL', 'shares': 50},
-
- {'price': 115.65, 'name': 'ACME', 'shares': 75},
-
- {'price': 91.1, 'name': 'IBM', 'shares': 100}
-
- ]
如果您只是想查找单个最小或最大项(N=1),则[使用min()和max()函数的]速度更快。
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(文末获取!)
祝:学习愉快、工作顺利
温馨提示:获取方式 关注【码农园区】 回复 “ python ” !!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。