获取全部 txt 文本中出现次数最多的前N个词汇
1.使用 chain 对 allwords 二维列表进行解包
from itertools import chain
allwords = []
allwords.append(列表)
解包: chain(*allwords)
将 allwords 里面的子列表解出来
2.使用 next 对 chain 对象进行输出
c = chain([1,2,3],"hello",(1,2,3),map(str,range(3)))
next(c) 输出 c 的下一个元素 1
next(c) 输出 c 的下一个元素 2
3.获取有效词汇的数目
freq = Counter(chain(*allwords))
4.Counter 返回的是可迭代对象出现的次数
使用 most_common 方法返回出现次数最多的前三个
.most_common(3)
Counter ("dadasfafasfa")
Counter({'a': 5, 'f': 3, 'd': 2, 's': 2})
Counter ("dadasfafasfa").most_common(2)
[('a', 5), ('f', 3)] 程序:
allwords = [ ]
def getTopWords(topN):
# 按文体编号顺序处理当前文件夹中所有的记事本文件
# 5.txt 9.txt 121.txt
# 训练集中共有141封邮件,0.txt~99.txt 为垃圾邮件
# 100~140 为有效邮件
txtFiles = [str(i) + '.txt' for i in range(141)]
# 获取训练集中所有邮件中的全部文件
for txtFile in txtFiles:
allwords.append(getWordsFromFile(txtFile))
# 获取并返回出现次数最多的前 topN 个单词
freq = Counter(chain(*allwords))
return [w[0] for w in freq.most_common(topN)]
# 返回有效字符出现次数最多的前 topN 个字符
# w[0] 表示获取字符,w[1] 为出现的次数
2020-04-11
获取全部 txt 文本中出现次数最多的前N个词汇的更多相关文章
- sort +awk+uniq 统计文件中出现次数最多的前10个单词
实例cat logt.log|sort -s -t '-' -k1n |awk '{print $1;}'|uniq -c|sort -k1nr|head -100 统计文件中出现次数最多的前10个单 ...
- 用java实现输出英文小说飘中出现次数最多的前N个单词(附:使用文件读写)
本文参考于:https://blog.csdn.net/u014204432/article/details/40348839 一.题目 输出单个文件(<飘> 英文版)中的前 N 个最常出 ...
- 给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)
""" #给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 #返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况) 解题思路: 1.设定一个 ...
- 转载:Linux命令经典面试题:统计文件中出现次数最多的前10个单词
1.使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词 主要考察对sort.uniq命令的使用,相关解释 ...
- 查询nginx访问日志中访问次数最多的前10个IP地址
cat log | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | awk '{print $0}' | head -n 10
- LINQ 获取当前数组中出现次数最多的元素
LINQ 获取当前数组中出现次数最多的元素 1 List<string> a = new List<string>(); a.Add( ...
- php 获取某数组中出现次数最多的值(重复最多的值)与出现的次数
1.$arr = array(7,7,8,9,10,10,10); $arr = array_count_values($arr); // 统计数组中所有值出现的次数 arsort($arr); ...
- 使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页
使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页 方法1:linux下使用awk命令 # cat access1.log | awk '{print $1" &q ...
- 【python cookbook】【数据结构与算法】12.找出序列中出现次数最多的元素
问题:找出一个元素序列中出现次数最多的元素是什么 解决方案:collections模块中的Counter类正是为此类问题所设计的.它的一个非常方便的most_common()方法直接告诉你答案. # ...
随机推荐
- 发家致富的鬼bug。让人心动
这个bug是我目前见过最离谱的bug…… 颠覆了我二十多年的世界观,天上掉馅饼这种好事第一次砸我身上(雾),至今我都没想明白其中的原理. 情况是这样的,去年我出门去外地有些事情要处理.由于要呆很长时间 ...
- js写一个简单的九九乘法表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JQuery预览图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- idea 链接 Tomcat 出现的错误 Application server libraries not found
红色字体是重点 好久好久没有上来了.一直忙于工作没事有时间进行总结. 最近在家隔离期间发现了一个好玩的游戏率土之滨 , 玩的不错和大盟主混的很好.在给盟里做考勤任务的时候发现很麻烦还需要用Excel ...
- MySQL 你可能忽视的选择问题
我们在 MySQL 入门篇主要介绍了基本的 SQL 命令.数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我 ...
- finally 关键字
异常处理的时侯 出现的关键字finally 不论在 try 代码块中是否出现 发生了异常时间, catch语句是否执行,catch语句是否有异常,catch语句中是否return关键字 ,f ...
- USACO07NOV Cow Relays G 题解
题目 For their physical fitness program, \(N (2 ≤ N ≤ 1,000,000)\) cows have decided to run a relay ra ...
- Report.Net 本地数据库、WebService、Socket报表
本地.服务器的Access.Sql报表编辑.预览.打印. 可自定义预览界面,可方便嵌入到你的程序中去,提供接口函数,如有需要可自行添加接口. 预览采用单双面方式,因为如果页面过多,预览不能全部加载,所 ...
- 终于理解Python中的迭代器和生成器了!
迭代器和生成器 目录 迭代器和生成器 可迭代对象和迭代器 基础概念 判断 for循环本质 不想用for循环迭代了,如何使用迭代器? 列表推导式 生成器Generator 概念 如何实现和使用? 生成器 ...
- Git管理修改、撤销和删除文件
目录 备注: 知识点 管理修改 撤销修改 没有git add添加到暂存区时的撤销 git add添加到暂存区后的撤销 git commit提交后的撤销 删除文件 确定从版本库中删除文件 从暂存区把误删 ...