Skip to main content
 首頁 » 程序教程

Python查找最大或最小的N個元素

2016年11月03日112983

本文為Python CookBook一書的閱讀筆記。

怎么樣從一個集合中獲得最大或者最小的N元素列表呢?馬上能夠想到的方法是對集合進行排序操作,排序的算法則有冒泡、選擇、插入等。有沒有更簡單的方法呢?Python標準模塊heapq中提供了nlargest()和nsmallest()兩個函數解決該問題。

nlargest()和nsmallest()用法

nlargest()和nsmallest()兩個函數都接受一個關鍵字參數,用于更復雜的數據結構中。示例代碼如下:

import heapq
from random import randint

nums = [randint(1, 100) for _ in range(5)]
# 隨機數列表,結果為:[89, 94, 26, 48, 3]
print(nums)
# 結果為:[94, 89, 48]
print(heapq.nlargest(3, nums))
# 結果為:[3, 26, 48]
print(heapq.nsmallest(3, nums))

當要查找的元素個數相對比較小時,函數nlargest()和nsmallest()是比較合適的。如果僅僅是想查找唯一的最小值或者最大值,那么使用max()和min()函數會更快一些。


評論列表3條評論
資金互助開發
資金互助開發回復 好深奧,有點難啊
資金互助開發
資金互助開發回復 好深奧啊
五子棋下載
五子棋下載回復 原來是這樣子,懂了
發表評論
中文字幕亚洲欧美|欧美97人人模人人爽|av鲁丝一区鲁丝二区鲁丝三区|巨大黑人极品VIDEOS精品