Python 合并多个有序序列
2012-12-30 16:05
260 查看
# -*- coding: utf-8 -*- def merge(*sequences): import heapq heap = [(seq[0],seq) for seq in sequences] heapq.heapify(heap) while heap: x, seq = heapq.heappop(heap) yield seq.pop(0) if seq: heapq.heappush(heap, (seq[0], seq)) A = [[1,2,3,4], [5,6,8], [1,3,5,6,7,9]] print list(merge(*A)) # >>> [1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 9]
相关文章推荐
- 02-线性结构1 两个有序链表序列的合并
- PAT 两个有序链表序列的合并
- 02-线性结构1 两个有序链表序列的合并
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 求两个有序序列合并成新有序序列的中位数,求第k小数
- 5-51 两个有序链表序列的合并(20分)
- 两个有序链表序列的合并
- 2-11. 两个有序链表序列的合并(15):链表数据结构基础练习
- 02-线性结构1 两个有序链表序列的合并
- 4000 两个有序链表序列的合并
- PAT 2-11 两个有序链表序列的合并(C语言实现)
- 实例2.1 两个有序链表序列的合并
- merge two sorted lists, 合并两个有序序列
- 数据结构_中国大学MOOC(慕课)——两个有序链表序列的合并问题
- Python对两个有序列表进行合并和排序的例子
- PAT数据结构_02-线性结构1 两个有序链表序列的合并 (15分)
- 浙江大学PAT上机题解析之2-11. 两个有序链表序列的合并
- 2-11. 两个有序链表序列的合并(15)
- 4-3 两个有序链表序列的合并
- 线性结构1 两个有序链表序列的合并