首页 > 其他 > 详细

软工作业(3)--词频统计

时间:2018-10-10 00:18:11      阅读:206      评论:0      收藏:0      [点我收藏+]

一、程序分析

编译环境:python3.7、pycharm2018

1.读文件到缓冲区

技术分享图片

 2.处理缓冲区 bvffer的文件,统计每个单词的频率,存放在字典word_freq

技术分享图片

 3、按照单词的频数排序,输出次数排名前十的单词(output_result(word_freq))

技术分享图片

 4.主函数输出文章中单词前十的结果

技术分享图片

 5、cProfile对代码性能进行测试

技术分享图片

 

二、代码风格分析

python代码在每行末尾不用加“;”

例如:

技术分享图片

 

三、程序运行结果截图 

1.对Gone_with_the_wind.txt进行词频统计

技术分享图片

 2.对A_Tale_of_Two_Cities.txt进行词频统计

 技术分享图片

 

四、性能分析结果及改进

1.可视化操作:

技术分享图片

 2.执行次数最多代码:

技术分享图片

3.执行时间最长代码:

 技术分享图片

由图知,执行次数最多且执行时间最多的代码是:

for word in words:

word_freq[word] = word_freq.get(word, 0)+1

程序改进:

将原来的代码:

1    for i in ‘!"#$%&()*+-,-./:;<=>?@“”[\\]^_{|}~‘:
2        bvffer = bvffer.replace(i, " ")  # 替换特殊字符
3    bvffer = bvffer.lower()  # 把大写字母转换为小写
4    words = bvffer.strip().split() # 分割字符串
变为:
words = bvffer.lower().strip().split()

软工作业(3)--词频统计

原文:https://www.cnblogs.com/ruio/p/9763859.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!