码迷,mamicode.com
首页 > 编程语言 > 详细

将排序序列的集合合并成一个排序序列

时间:2019-11-09 17:54:26      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:一个   并且   重复   python   chain   过程   返回   rto   too   

您有一个排序序列的集合,并且想要遍历所有合并在一起的排序序列。
先看如下示例,了解实际需求:

>>> import heapq
>>> a = [1, 4, 7, 10]
>>> b = [2, 5, 6, 11]
>>> for c in heapq.merge(a, b):
        print(c)

...
1
2
4
5
6
7
10
11

值得注意的是,heapq.merge要求所有的输入序列已排序。特别是,它不会首先将所有数据读入堆中或进行任何初步排序。 它也不对输入进行任何形式的验证,以检查输入是否满足排序要求。 取而代之的是,它仅从每个输入序列的开头检查项目集,找到的最小项。 然后读取所选序列中的新项目,然后重复该过程,直到所有输入序列都被完全消耗为止。
类似于sorted(itertools.chain(* iterables)),但返回一个iterable,不会一次将数据全部拉入内存,并假定每个输入流都已排序(最小到最大)。

将排序序列的集合合并成一个排序序列

标签:一个   并且   重复   python   chain   过程   返回   rto   too   

原文地址:https://www.cnblogs.com/jeffrey-yang/p/11826553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!