新聞中心
1、說明

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供懷仁網(wǎng)站建設(shè)、懷仁做網(wǎng)站、懷仁網(wǎng)站設(shè)計(jì)、懷仁網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、懷仁企業(yè)網(wǎng)站模板建站服務(wù),十余年懷仁做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
對(duì)于較大的數(shù)據(jù)集,將會(huì)占用大量內(nèi)存。不是對(duì)整個(gè)組合序列進(jìn)行排序,而是使用 merge() 一次生成一個(gè)新序列。
2、實(shí)例
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
因?yàn)閙erge()使用堆的實(shí)現(xiàn),它根據(jù)被合并的序列元素個(gè)數(shù)消耗內(nèi)存,而不是所有序列中的元素個(gè)數(shù)。
以上就是python使用merge實(shí)現(xiàn)堆的方法,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
分享文章:創(chuàng)新互聯(lián)Python教程:python如何使用merge實(shí)現(xiàn)堆
文章轉(zhuǎn)載:http://m.5511xx.com/article/dphddse.html


咨詢
建站咨詢
