heapq大小写字母数字混合堆
import heapq
lst = list("AbSZDYM6BTXHU")
print(lst) # ['A', 'b', 'S', 'Z', 'D', 'Y', 'M', '6', 'B', 'T', 'X', 'H', 'U']
heapq.heapify(lst)
print(lst) # ['6', 'A', 'H', 'B', 'D', 'S', 'M', 'Z', 'b', 'T', 'X', 'Y', 'U']
print("最大三个", heapq.nlargest(3, lst)) # 最大三个 ['b', 'Z', 'Y'] ASCCI编码: b:98 Z:90
print("最小三个", heapq.nsmallest(3, lst)) # 最小三个 ['6', 'A', 'B'] ASCCI编码: 6:54 A:65
堆方法:
heapq.heappush(heap, item)
heapq.heappop(heap)
heapq.heapify(lst) # 列表堆化
heapq.replace(heap, item) # 最小值替换为item
heapq.nlargest(3, lst))
heapq.nsmallest(3, lst))
混合对根据 ASCCI编码大小排序