思路:

统计一篇文章中单词出现的次数,首先应该知道该文章中,有多少个单词(去重后),然后再统计单词在文章中的出现频率。这里使用最简单的方式来实现该功能。

基础:

读者应该已经掌握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学习之文章中单词出现频率统计相关推荐

  1. python 实现文章中词汇的频率统计并进行显示(针对英文文章)

    python实现英文文章中出现单词频率的统计 本文的思路: 首先打开文件 ,对于文件的每一行进行词汇的统计,在这里需要注意 需要替换每一行中的单词之间的分隔符为空格,然后使用split()函数去掉空格 ...

  2. C语言统计文章单词出现的次数,统计英文文章中单词出现频率

    /* 运行此程序之前要将写有单词的英文文章以.txt格式保存在d:\word.txt */ #include #include #include #include #include #include ...

  3. python中统计单词出现的次数_python统计文章中单词出现次数实例

    python统计单词出现次数 做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名 ...

  4. python中统计各个单词出现的次数使用方法_python统计文章中单词出现次数实例

    python统计单词出现次数 做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名 ...

  5. python降序输出前十个单词和词频_python-计算列表中单词的频率并按频率排序

    python-计算列表中单词的频率并按频率排序 我正在使用Python 3.3 我需要创建两个列表,一个用于唯一词,另一个用于词频. 我必须根据频率列表对唯一单词列表进行排序,以便频率最高的单词在列表 ...

  6. python中if语句缺省else_9_【Python学习分享文章】_if(条件语句)

    [Python学习分享文章]_if(条件语句)_logicalJudgement介绍及基本操作 综述 计算机的"条件语句"和生活中的"条件成立"是不一样的. 一 ...

  7. php单词出现频率,PHP编程计算文件或数组中单词出现频率的方法

    本文实例讲述了PHP编程计算文件或数组中单词出现频率的方法.分享给大家供大家参考,具体如下: 如果是小文件,可以一次性读入到数组中,使用方便的数组计数函数进行词频统计(假设文件中内容都是空格隔开的单词 ...

  8. 统计一篇英文文章中单词出现的频数

    1.题目内容:如何统计一篇英文文章中单词出现的频数,依次从键盘中输入该文章. 2.思路:使用map一一映射 3.程序清单: #include<iostream> #include<s ...

  9. 用python统计文章中单词出现的频次

    用python统计<Walden>中单词出现的频次,并按频次由高到低排序. 首先在Notebook中导入文章,其次,在编辑代码时打开所导入的文件. 此时文章被读到最后一格,使用close命 ...

最新文章

  1. 什么是上采样和下采样
  2. 原型设计工具【收集转帖】
  3. Linux学习之系统编程篇:mmap 内存映射区
  4. C# 计算时间差 用timespan函数
  5. 学软件测试看什么书籍推荐?
  6. ROS机器人程序设计(原书第2版)3.3.1 检测节点、主题、服务和参数
  7. java8之StringJoiner。终于有像guava类库里的功能了
  8. 【React 】基于Antd Design的Switch开关选择器控件封装
  9. Android Intent定义选择器打开相机和相册
  10. 128根号e980计算机怎么打,我能想到最浪漫的事,就是鼓起勇气给了你一张纸条,上面写着:128根号e980...
  11. 解决“无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有权限访问”的问题
  12. 数字化名词解释—数字化转型
  13. 我以为你懂的。懂得我是特别的
  14. 微村:做APP里的掌上村长
  15. return 0、return 1、return-1
  16. Chango的数学Shader世界(九)流体模拟-散度,梯度,二阶导与拉普拉斯
  17. 轻松快捷的安装Testlink,终于可以轻松搞定!
  18. D35 Spark源代码(待补充)
  19. 为什么会学习感觉痛苦
  20. 大数据-Hadoop(环境搭建)

热门文章

  1. 微信可以设置雪花昵称和彩色昵称了,真漂亮!
  2. dot.tk+namecheap.com搭建免费顶级域名+快速动态域名+Dns解析
  3. 7.Mapping详解
  4. 基于vue-router的从后端动态加载菜单的实现
  5. 计算机里的word怎么重装,word能卸载重装吗 word卸载重装
  6. 微信开发者工具-调试器
  7. 数字电子钟仿真软件中的电路测试,如何利用Multisim仿真软件进行数字电子钟设计...
  8. Type-c接口及其协议介绍
  9. vue练手小项目--眼镜在线试戴
  10. [转载]坐标系统与投影变换