1. 程式人生 > >python之使用heapq()函數計算列表中數值大小

python之使用heapq()函數計算列表中數值大小

heapq all 列表 brush 語法 pytho class tom lar

# 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()函數計算列表中數值大小