新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python如何使用merge實現(xiàn)堆
1、說明

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供懷仁網(wǎng)站建設、懷仁做網(wǎng)站、懷仁網(wǎng)站設計、懷仁網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、懷仁企業(yè)網(wǎng)站模板建站服務,十余年懷仁做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
對于較大的數(shù)據(jù)集,將會占用大量內(nèi)存。不是對整個組合序列進行排序,而是使用 merge() 一次生成一個新序列。
2、實例
import heapq
import random
random.seed(2016)
data = []
for i in range(4):
new_data = list(random.sample(range(1, 101), 5))
new_data.sort()
data.append(new_data)
for i, d in enumerate(data):
print('{}: {}'.format(i, d))
print('\nMerged:')
for i in heapq.merge(*data):
print(i, end=' ')
print()
# output
# 0: [33, 58, 71, 88, 95]
# 1: [10, 11, 17, 38, 91]
# 2: [13, 18, 39, 61, 63]
# 3: [20, 27, 31, 42, 45]
#
# Merged:
# 10 11 13 17 18 20 27 31 33 38 39 42 45 58 61 63 71 88 91 95
因為merge()使用堆的實現(xiàn),它根據(jù)被合并的序列元素個數(shù)消耗內(nèi)存,而不是所有序列中的元素個數(shù)。
以上就是python使用merge實現(xiàn)堆的方法,希望對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
網(wǎng)頁名稱:創(chuàng)新互聯(lián)Python教程:python如何使用merge實現(xiàn)堆
本文路徑:http://www.dlmjj.cn/article/dphddse.html


咨詢
建站咨詢
