首页 > 其他 > 详细

heapq

时间:2020-03-14 12:44:18      阅读:75      评论:0      收藏:0      [点我收藏+]

heapq模块可以从一个序列中找出最大或最小的N个元素。

1.heapq.nlargest()从序列中找出最大的N个元素

import heapq # 导入heapq模块
a = [1,5,3,6,3,8] # 定义一个列表
print(heapq.nlargest(3,a)) # 找出列表a中最大的3个元素,输出为:[8,6,5]

 

2.heapq.nsmallest()从序列中找出最小的N个元素

1 import heapq
2 a = [1,5,3,6,3,8]
3 print(heapq.nsmallest(3,a)) # 找出列表a中最小的3个元素,输出为:[1, 3, 3]
4 a = [{name:bob, age:11},
5      {name:jack,age:12},
6      {name:tom,age:8},
7      {name:alice,age: 5}]
8 # 和上面比较这里多了一个关键字参数key,指定了比较依据y依据,即按age的值进行比较,然后找出最大的两个元素
9 print(heapq.nlargest(2,a,key=lambda s:s[name]))# 输出为[{‘name‘: ‘tom‘, ‘age‘: 8}, {‘name‘: ‘jack‘, ‘age‘: 12}]

heapq

原文:https://www.cnblogs.com/yemeiivan-zhang/p/12491224.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!