内容来自:python for information https://fanwscu.gitbooks.io/py4inf-zh-cn/chapter10.html

文本取自《罗密欧于朱丽叶》的第二幕第二场。现在,我们扩充这个程序,输出文本中出现次数最多的前十个单词,代码如下所示:

import string
fhand = open('romeo-full.txt')
counts = dict()
for line in fhand:line = line.translate(None, string.punctuation) #可参考dict中解析文本随笔line = line.lower()words = line.split()for word in words:if word not in counts:    #可用counts[words] = counts.get(word,0) + 1 ,字典中get方法,不在则返回0counts[word] = 1else:counts[word] += 1# Sort the dictionary by value
lst = list()
for key, val in counts.items():  #把counts的键值对给key和vallst.append( (val, key) )     #追加到lst,便于使用sort方法lst.sort(reverse=True)  #倒序排序for key, val in lst[:10] : #取前十个print key, val

程序的第一部分读取文件,计算出文档中每个单词出现的次数,将单词及其出现次数放入字典中。这部分程序不做修改。之前输出变量count的值之后,程序就结束了,这里我们创建一个(val, key)元组列表,按照逆序对列表进行排序。

由于元组中值是第一个元素,所以它被用于比较。如果多个元组拥有相同的值,接下来检查元组的第二个元素(键)。因此,如果值相同,元组将按照键的字母顺序进行排序。

在程序末尾,我们写了一个for循环,实现多个赋值的迭代,通过列表切片操作(lst[:10]),迭代输出前十个高频词汇。

至此,程序的输出看上去符合我们想要的词频分析结果。

61 i
42 and
40 romeo
34 to
34 the
32 thou
32 juliet
30 that
29 my
24 thee

事实上,如此复杂的数据解析与分析只需19行易于理解的Python代码就解决了。这就是Python语言用于信息分析的明智选择依据之一。

转载于:https://www.cnblogs.com/fivecats/p/8653823.html

tuples_高频词汇统计相关推荐

  1. 基于hadoop下的使用map reduce分布式系统的高考高频词汇统计

    hadoop课程设计报告 一.设计目的与要求 1.设计目的 通过hadoop课程设计可以加深.巩固对本门专业课程理论知识的掌握.通过eclipse和hadoop来编写课设报告等方面的实践训练,筑牢编程 ...

  2. 中文高频词汇统计并绘制词云

    转载自:https://www.jianshu.com/p/2052d21a704c 代码如下: # -*- encoding:utf-8 -*- import sys reload(sys) sys ...

  3. 统计本段话的高频词汇——报错:KeyError

    项目场景: 编写程序,实现用户随机输入一段话,统计本段话的高频词汇 原来的代码 import jieba txt = input("请输入一段话:") words = jieba. ...

  4. 统计词频并输出高频词汇

    @统计词频并输出高频词汇 所给数据为某日中国日报英文版的一篇新闻报道,现要求使用 Python 语言编写程序统计其中出线频率最高的十个单词,输出对应的单词内容和频率(以字典形式呈现). import ...

  5. 用python统计水浒传中的高频词汇

    用python统计水浒传中的高频词汇 #词频统计.py import jieba excludes = {"两个","一个","只见",&q ...

  6. python英语-我们用程序整理出了一份Python英语高频词汇表,拿走不谢!

    原标题:我们用程序整理出了一份Python英语高频词汇表,拿走不谢! 有不少编程初学者会问这样一个问题:我英语不好,还能不能学编程?会不会有影响? 我的回答是:能,会. 能学,是因为虽然编程用的都是英 ...

  7. 我们用程序整理出了一份Python英语高频词汇表,拿走不谢!

    有不少编程初学者会问这样一个问题:我英语不好,还能不能学编程?会不会有影响? 我的回答是:能,会. 能学,是因为虽然编程用的都是英语,但翻来覆去就那么一些关键字,写一阵子就都记住了.中文的学习资料也不 ...

  8. 2011大学英语四级核心高频词汇表免费下载

    2011年大学英语四级核心高频词汇表 abandon vt.丢弃:放弃,抛弃 ability n.能力:能耐,本领 abnormal a.不正常的:变态的 aboard ad.在船(车)上:上船 ab ...

  9. 管理类联考——英语——趣味篇——词根词汇——按频次分类——高频词汇——List1

    优化原书记忆方法,轻松搞定考研单词 摒弃了传统的以字母顺序排序的方法,结合近20年考研真题,通过电脑搜索等方法对核心词进行科学统计,将核心词有机地分为高频词汇.常考词汇.中频词汇.低频词汇等4大部分, ...

  10. 四级重点高频词汇表_四级为什么自己估分和真实成绩不一样……?

    简单来说就是四级的评分,不是简单的你卷面有多少分就是多少分,而是和排名和通过率有关的. 想要知道为什么四级自己估分和真实成绩不一样,你得先了解四级的评分体制. 英语四级考试实施710分制而不是百分制, ...

最新文章

  1. 在tomcat中用jndi配置数据源启动java web程序
  2. Ajax Control Toolkit Animation 想说爱你不容易
  3. 配置MySQL8.0 环境变量
  4. 如何编写自己的Java / Scala调试器
  5. php 修改文件访问时间,php获取文件的创建、修改时间及访问时间
  6. [SDOI2016]储能表
  7. 升级到AKU3.3 v1.1,感受智能手机的VGA模式
  8. Python大数据依赖包安装
  9. 【NetApp】exportfs命令的使用
  10. Nginx源码包软件安装步骤
  11. list的一些常见用法总结(实用干货收藏)
  12. sqlserver替换特殊字符
  13. 【转】书上的字快速弄到电脑上
  14. 庄子·内篇·逍遥游第一(郭象注)
  15. turtle---见证小海龟的浪漫之画
  16. C++ 打开文件夹对话框-OPENFILENAME
  17. 矩阵求和及Kadane算法
  18. 【蓝桥杯选拔赛真题27】Scratch报数 少儿编程scratch蓝桥杯选拔赛真题讲解
  19. 全国程序员薪酬大曝光!看完我酸了····
  20. C语言结构体存储空间分配的原则

热门文章

  1. python独一无二的路_独一无二的Python基础学习——可用作面试
  2. access insert语句怎么写_被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL
  3. Java I/O系统之Reader
  4. [渝粤教育] 西南科技大学 经济法学 在线考试复习资料(1)
  5. 【渝粤教育】广东开放大学 生产与运作管理 形成性考核 (36)
  6. 强化学习中值迭代收敛性推理证明
  7. Baxter实战 (二)ubuntu14.04安装Baxter Workstation
  8. 概率矩阵分解模型 PMF
  9. .Net 程序员应该知道的工具和网站
  10. chrome调式工具