python , 顺序迭代合并后的list对象
2023-09-14 09:07:33 时间
有一系列排序序列,想将它们合并后得到一个排序序列并在上面迭代遍历
heapq.merge() 函数可以帮你解决这个问题。比如:
>>> 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 可迭代特性意味着它不会立马读取所有序列。这就意味着你可以在非常长的序列中使用它,而不会有太大的开销。比如,下面是一个例子来演示如何合并两个排序文件:
with open('sorted_file_1', 'rt') as file1, \ open('sorted_file_2', 'rt') as file2, \ open('merged_file', 'wt') as outf: for line in heapq.merge(file1, file2): outf.write(line)
有一点要强调的是heapq.merge() 需要所有输入序列必须是排过序的。特别的,它并不会预先读取所有数据到堆栈中或者预先排序,也不会对输入做任何的排序检测。它仅仅是检查所有序列的开始部分并返回最小的那个,这个过程一直会持续直到所有
输入序列中的元素都被遍历完。
相关文章
- Python面试基础知识_python自学需要哪些基础知识
- python中pygame怎么安_Python中pygame安装方法图文详解
- Python: list列表的内置方法介绍
- 【说站】python标识符的使用注意
- 【说站】python字符串常用技巧的总结
- [Python图像处理] 十三.基于灰度三维图的图像顶帽运算和黑帽运算
- h5 Python_python做h5网站
- 如何用python画一个心形图_python画心形名字
- 深度解析:Web3.0区块NFT+defi系统开发逻辑Python框架方案
- Python中list转成Json字符串
- 两个list取交集_python两个list取并集
- python deepcopy函数_Python deepcopy
- 盘点一个使用Python实现Excel数理统计的实战问题
- python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用
- Python 爬虫进阶必备 | 某策网数据返回值 data 解密逻辑分析
- Python自动化办公--Pandas玩转Excel数据分析【三】
- python通过reportlab实现图片转换pdf详解编程语言
- Linux中运行Python文件的步骤(linux运行python文件)
- python使用Python轻松操作Redis(redis-)
- 在你的 Python 游戏中添加投掷机制
- 利用Redis List对象提升系统性能(redis list对象)
- 利用Neo4j和Python进行无缝图形数据库支持(neo4j python)
- python二叉树的实现实例
- linux系统使用python获取内存使用信息脚本分享
- python里将list中元素依次向前移动一位
- Python中的自定义函数学习笔记