python学习之文章中单词出现频率统计
思路:
统计一篇文章中单词出现的次数,首先应该知道该文章中,有多少个单词(去重后),然后再统计单词在文章中的出现频率。这里使用最简单的方式来实现该功能。
基础:
读者应该已经掌握python的主要数据结构的用法,——字典、列表、元组与集合。
多数的函数和方法的注释已经在源代码中注释,这里对sorted()函数进行一下特别说明。python中对sorted()函数做出的解释如下所示(可以通过help(function)的方式,获取对某个函数或方法的帮助):
该解释的大意是通过sorted(iterable, /, *, key=None, reverse=False)该函数返回一个升序的新列表。可以通过key指定排序顺序。也可以通过reverse来设定是升序还是倒序排序。reverse= True降序,reverse=False升序。
本代码通过lambda表达式,以字典中的值为排序的参数。
import stringdef statistics():"""要注意python在取Windows操作系统的格式""" path = 'C://Users/10281/Desktop/Walden.txt' """当直接读取文件的时候,可能会遇到编码格式的问题,这里使用encoding指定编码格式为utf-8""" with open(path, 'r', encoding='UTF-8') as text:""" 此处使用了List comprehension,该种方式效率较高。 split()方法用于对字符串的分片,在默认情况下,为所有的空字符,包括空格、换行(\n)、制表符(\t)。 strip()方法用于移除字符串头尾指定的字符(默认为空格)。 set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。 """ print(string.punctuation)words = [raw_word.strip(string.punctuation).lower() for raw_word in text.read().split()]words_index = set(words)counts_dict = {index: words.count(index) for index in words_index}""" sorted() 函数对所有可迭代的对象进行排序操作。 sort 与 sorted 区别:sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 """ for word in sorted(counts_dict, key=lambda x: counts_dict[x], reverse=True):print('{}--{} times'.format(word, counts_dict[word]))if __name__ == "__main__":statistics()
python学习之文章中单词出现频率统计相关推荐
- python 实现文章中词汇的频率统计并进行显示(针对英文文章)
python实现英文文章中出现单词频率的统计 本文的思路: 首先打开文件 ,对于文件的每一行进行词汇的统计,在这里需要注意 需要替换每一行中的单词之间的分隔符为空格,然后使用split()函数去掉空格 ...
- C语言统计文章单词出现的次数,统计英文文章中单词出现频率
/* 运行此程序之前要将写有单词的英文文章以.txt格式保存在d:\word.txt */ #include #include #include #include #include #include ...
- python中统计单词出现的次数_python统计文章中单词出现次数实例
python统计单词出现次数 做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名 ...
- python中统计各个单词出现的次数使用方法_python统计文章中单词出现次数实例
python统计单词出现次数 做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名 ...
- python降序输出前十个单词和词频_python-计算列表中单词的频率并按频率排序
python-计算列表中单词的频率并按频率排序 我正在使用Python 3.3 我需要创建两个列表,一个用于唯一词,另一个用于词频. 我必须根据频率列表对唯一单词列表进行排序,以便频率最高的单词在列表 ...
- python中if语句缺省else_9_【Python学习分享文章】_if(条件语句)
[Python学习分享文章]_if(条件语句)_logicalJudgement介绍及基本操作 综述 计算机的"条件语句"和生活中的"条件成立"是不一样的. 一 ...
- php单词出现频率,PHP编程计算文件或数组中单词出现频率的方法
本文实例讲述了PHP编程计算文件或数组中单词出现频率的方法.分享给大家供大家参考,具体如下: 如果是小文件,可以一次性读入到数组中,使用方便的数组计数函数进行词频统计(假设文件中内容都是空格隔开的单词 ...
- 统计一篇英文文章中单词出现的频数
1.题目内容:如何统计一篇英文文章中单词出现的频数,依次从键盘中输入该文章. 2.思路:使用map一一映射 3.程序清单: #include<iostream> #include<s ...
- 用python统计文章中单词出现的频次
用python统计<Walden>中单词出现的频次,并按频次由高到低排序. 首先在Notebook中导入文章,其次,在编辑代码时打开所导入的文件. 此时文章被读到最后一格,使用close命 ...
最新文章
- 什么是上采样和下采样
- 原型设计工具【收集转帖】
- Linux学习之系统编程篇:mmap 内存映射区
- C# 计算时间差 用timespan函数
- 学软件测试看什么书籍推荐?
- ROS机器人程序设计(原书第2版)3.3.1 检测节点、主题、服务和参数
- java8之StringJoiner。终于有像guava类库里的功能了
- 【React 】基于Antd Design的Switch开关选择器控件封装
- Android Intent定义选择器打开相机和相册
- 128根号e980计算机怎么打,我能想到最浪漫的事,就是鼓起勇气给了你一张纸条,上面写着:128根号e980...
- 解决“无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有权限访问”的问题
- 数字化名词解释—数字化转型
- 我以为你懂的。懂得我是特别的
- 微村:做APP里的掌上村长
- return 0、return 1、return-1
- Chango的数学Shader世界(九)流体模拟-散度,梯度,二阶导与拉普拉斯
- 轻松快捷的安装Testlink,终于可以轻松搞定!
- D35 Spark源代码(待补充)
- 为什么会学习感觉痛苦
- 大数据-Hadoop(环境搭建)
热门文章
- 微信可以设置雪花昵称和彩色昵称了,真漂亮!
- dot.tk+namecheap.com搭建免费顶级域名+快速动态域名+Dns解析
- 7.Mapping详解
- 基于vue-router的从后端动态加载菜单的实现
- 计算机里的word怎么重装,word能卸载重装吗 word卸载重装
- 微信开发者工具-调试器
- 数字电子钟仿真软件中的电路测试,如何利用Multisim仿真软件进行数字电子钟设计...
- Type-c接口及其协议介绍
- vue练手小项目--眼镜在线试戴
- [转载]坐标系统与投影变换