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中的jquery PyQuery库使用小结
May 13 Python
跟老齐学Python之正规地说一句话
Sep 28 Python
Python元字符的用法实例解析
Jan 17 Python
python os用法总结
Jun 08 Python
python分批定量读取文件内容,输出到不同文件中的方法
Dec 08 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 Python
如何利用Python动态模拟太阳系运转
Sep 04 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
Jan 08 Python
python创建字典及相关管理操作
Apr 13 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正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php创建sprite
2014/02/11 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
使用python实现生成用户信息
2017/03/20 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
Pycharm更换python解释器的方法
2018/10/29 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
python读取文件指定行内容实例讲解
2020/03/02 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
园艺师求职信
2014/03/10 职场文书
春风行动实施方案
2014/03/28 职场文书
森林病虫害防治方案
2014/06/02 职场文书
心得体会的写法
2014/09/05 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
读书笔记格式
2015/07/02 职场文书