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編碼大小排序

浙公網安備 33010602011771號