python沒有實現專門的堆數據結構,但是提供了一系列方法,可以操作在list上,實現堆的功能
import heapq # 將x壓入堆中 heapq.heappush(heap, x) # 從堆中彈出最小的元素 heapq.heappop(heap) # 讓列表具備堆特征 heapq.heapify(heap) # 彈出最小的元素,並將x壓入堆中 heapq.heapreplace(heap, x) # 返回iter中n個最大的元素 heapq.nlargest(n, iter) # 返回iter中n個最小的元素 heapq.nsmallest(n, iter) # 從一個list中獲取最大的元素 max_column_data = heapq.nlargest(1, temp_list, key=lambda item: len(item))