python之使用heapq()函数计算列表中数值大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之使用heapq()函数计算列表中数值大小相关的知识,希望对你有一定的参考价值。

# heapq函数:计算列表最大几个值和最小几个值
# 语法:heapq.nlargest(n, list,[key])
# n表示最大或最小的几个; list为分析的对象; key为排序关键字,非必填

import heapq

list_num = [1, 4, 3, 2, 5]
print("最大的一个:", max(list_num))
# 求列表最大的两个
list_temp = heapq.nlargest(2, list_num)
print("最大的两个:", list_temp)

list_people = [
    {‘name‘: ‘Mike‘, ‘age‘: 22},
    {‘name‘: ‘Lee‘, ‘age‘: 25},
    {‘name‘: ‘Tom‘, ‘age‘: 33},
    {‘name‘: ‘Jack‘, ‘age‘: 41}
]
# 求最年轻的两个人
list_temp = heapq.nsmallest(2, list_people, lambda person: person[‘age‘])
print("最年轻的两个人:", list_temp)

 运行结果:

最大的一个: 5
最大的两个: [5, 4]
最年轻的两个人: [{‘name‘: ‘Mike‘, ‘age‘: 22}, {‘name‘: ‘Lee‘, ‘age‘: 25}]

 

以上是关于python之使用heapq()函数计算列表中数值大小的主要内容,如果未能解决你的问题,请参考以下文章

python中使用heapq查看最大与最小的N个元素列表

python模块之heapq

heapq取列表最大或最小值元素

Python heapq模块

Python heapq 与预排序列表的排序速度

heapq模块