Python高级应用实例对比:高效计算大文件中的最长行的长度
2014-06-08 00:00
781 查看
前2种方法主要用到了列表解析,性能稍差,而最后一种使用的时候生成器表达式,相比列表解析,更省内存
列表解析和生成器表达式很相似:
列表解析
[expr for iter_var in iterable if cond_expr]
生成器表达式
(expr for iter_var in iterable if cond_expr)
方法1:最原始
方法2:简洁
缺点:一行一行的迭代f的时候,列表解析需要将文件的所有行读取到内存中,然后生成列表
方法3:最简洁,最节省内存
或者
列表解析和生成器表达式很相似:
列表解析
[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:高效计算大文件中的最长行的长度
- 【Java高级】反射+工厂模式+属性文件的实例应用
- Python使用difflib对比两个文件操作实例
- python 计算文件的md5值实例
- python高效过滤出文件夹下指定文件名结尾的文件实例
- Python使用difflib对比两个文件操作实例
- python 计算文件的md5值实例
- Python使用difflib对比两个文件操作实例
- 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
- 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
- 量化分析(5)——Python应用tushare数据计算单资产CAPM实例
- python 统计文件应用实例
- Python使用difflib对比两个文件操作实例
- Python使用difflib对比两个文件操作实例
- Python 获取文件中最长行的长度和最长行
- Python利用pandas计算多个CSV文件数据值的实例
- JSP读取文件实例基础应用
- python文件读写实例学习笔记
- Javascript高级应用:文件操作篇(转)