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实现抓取网页并且解析的实例
Sep 20 Python
编程语言Python的发展史
Sep 26 Python
简单介绍Python中的RSS处理
Apr 13 Python
Python二分查找详解
Sep 13 Python
Python 文件操作的详解及实例
Sep 18 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
python实现括号匹配的思路详解
Aug 23 Python
Python爬虫小技巧之伪造随机的User-Agent
Sep 13 Python
解决Python中定时任务线程无法自动退出的问题
Feb 18 Python
python实现简单图片物体标注工具
Mar 18 Python
windows10下安装TensorFlow Object Detection API的步骤
Jun 13 Python
python3通过udp实现组播数据的发送和接收操作
May 05 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
常用星际术语索引(新手指南)
2020/03/04 星际争霸
PHP中文件上传的一个问题
2010/09/04 PHP
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
PHP精确计算功能示例
2016/11/29 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
浅析使用Python搭建http服务器
2019/10/27 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
口腔医学技术应届生求职信
2013/11/09 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
本科毕业生自荐信
2014/06/02 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
企业贷款委托书格式
2014/09/12 职场文书
团员自我评价范文
2015/03/10 职场文书
2015年实习单位评语
2015/03/25 职场文书
月考总结与反思
2015/10/22 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python