heapq.merge() --合并多個有序序列,再對整個有序序列進行迭代

問題:我們有一組有序序列,想對它們合并在一起之后的有序序列進行迭代

使用heapq.merge()函數(shù)來解決這個問題
import heapq
a = [1, 3, 7, 10]
b = [2, 5, 6, 11]
for c in heapq.merge(a, b):
    print(c)
    
1
2
3
5
6
7
10
11
總結:

1、heapq.merge()的迭代性質(zhì)意味著它對所有提供的序列都不會做一次性讀取。這意味著可以利用它處理非常長的序列,而開銷卻非常??;
2、heapq.merge()要求所有的輸入序列都是有序的,它只是簡單地檢查每個輸入序列中的第一個元素,將最小的那個發(fā)送出去,然后重復執(zhí)行這個步驟,直到所有的輸入序列都耗盡為止。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容