Python高级应用实例对比:高效计算大文件中的最长行的长度


Posted in Python onJune 08, 2014

前2种方法主要用到了列表解析,性能稍差,而最后一种使用的时候生成器表达式,相比列表解析,更省内存

列表解析和生成器表达式很相似:

列表解析

[expr for iter_var in iterable if cond_expr]

生成器表达式

(expr for iter_var in iterable if cond_expr)

 方法1:最原始

longest = 0
f = open(FILE_PATH,"r")
allLines = [line.strip() for line in f.readlines()]
f.close()
for line in allLines:
    linelen = len(line)
    if linelen>longest:
        longest = linelen

方法2:简洁

f = open(FILE_PATH,"r")
allLineLens = [len(line.strip()) for line in f]
longest = max(allLineLens)
f.close()

缺点:一行一行的迭代f的时候,列表解析需要将文件的所有行读取到内存中,然后生成列表

方法3:最简洁,最节省内存

f = open(FILE_PATH,"r")
longest = max(len(line) for line in f)
f.close()

或者

print max(len(line.strip()) for line in open(FILE_PATH))
Python 相关文章推荐
Python写的创建文件夹自定义函数mkdir()
Aug 25 Python
python判断windows系统是32位还是64位的方法
May 11 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
python使用tensorflow深度学习识别验证码
Apr 03 Python
python3 打开外部程序及关闭的示例
Nov 06 Python
Python3 SSH远程连接服务器的方法示例
Dec 29 Python
python整合ffmpeg实现视频文件的批量转换
May 31 Python
Python实现一个数组除以一个数的例子
Jul 20 Python
pytorch: Parameter 的数据结构实例
Dec 31 Python
Python线程条件变量Condition原理解析
Jan 20 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 Python
python中doctest库实例用法
Dec 31 Python
Python实例分享:快速查找出被挂马的文件
Jun 08 #Python
python小技巧之批量抓取美女图片
Jun 06 #Python
Python学习笔记(二)基础语法
Jun 06 #Python
pycharm 使用心得(九)解决No Python interpreter selected的问题
Jun 06 #Python
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 #Python
pycharm 使用心得(七)一些实用功能介绍
Jun 06 #Python
pycharm 使用心得(六)进行简单的数据库管理
Jun 06 #Python
You might like
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
php array_search() 函数使用
2010/04/13 PHP
php连接数据库代码应用分析
2011/05/29 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
深入理解python中的闭包和装饰器
2016/06/12 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
python实现弹跳小球
2019/05/13 Python
python 魔法函数实例及解析
2019/09/25 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
python进度条显示之tqmd模块
2020/08/22 Python
python之语音识别speech模块
2020/09/09 Python
python 制作网站小说下载器
2021/02/20 Python
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
Linux的文件类型
2016/07/05 面试题
五一服装活动方案
2014/01/11 职场文书
信用社员工先进事迹材料
2014/02/04 职场文书
《称象》教学反思
2014/04/25 职场文书
应聘护士求职信
2014/07/21 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书