源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-05-02 23:13 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Python高级应用实例对比:高效计算大文件中的最长行的长度
前2种方法主要用到了列表解析,性能稍差,而最后一种使用的时候生成器表达式,相比列表解析,更省内存 列表解析和生成器表达式很相似: 列表解析 [expr for iter_var in iterable if cond_expr] 生成器表达式 (expr for iter_var in iterable if cond_expr)  方法1:最原始
[u]复制代码[/u] 代码如下:
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:简洁
[u]复制代码[/u] 代码如下:
f = open(FILE_PATH,"r") allLineLens = [len(line.strip()) for line in f] longest = max(allLineLens) f.close()
缺点:一行一行的迭代f的时候,列表解析需要将文件的所有行读取到内存中,然后生成列表 方法3:最简洁,最节省内存
[u]复制代码[/u] 代码如下:
f = open(FILE_PATH,"r") longest = max(len(line) for line in f) f.close()
或者
[u]复制代码[/u] 代码如下:
print max(len(line.strip()) for line in open(FILE_PATH))
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部