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))