首页 > 代码库 > python之使用heapq()函数计算列表中数值大小

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()函数计算列表中数值大小