python的堆heap操作

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

 

posted @ 2020-06-11 16:26  Mars.wang  阅读(3974)  评论(0编辑  收藏  举报