这里有一个大文本,文件请从 http://10.125.9.144:8000/document.zip 获取,在解压后大约有20m(实际比赛时文件是1.1G)。 文本中都是英文单词,空格以及英文的标点符号: [.,;-~"?'!] (句号,逗号,分号,破折号,波浪号,双引号,问号,单引号,感叹号)
请统计出该文本中最常出现的前10个单词(不区分大小写)。 请注意,在统计中这20个单词请忽略(the, and, i, to, of, a, in, was, that, had, he, you, his, my, it, as, with, her, for, on)
#http://stackoverflow.com/questions/4215472/python-take-max-n-elements-from-some-list import re, collections import heapq ignore_words = ['the','and','to','in','a','that','he','was','it','his','of', 'is', 'with', 'as', 'i', 'had', 'for', 'at', 'by', 'on','not', 'be', 'from', 'but', 's', 'you', 'or', 'her', 'him', 'which'] def words(text): return re.findall('[a-z]+', text.lower()) def train(features): model = collections.defaultdict(lambda: 1) for f in features: model[f] += 1 return model import time starttime = time.time() f = file('/duitang/data/nltk_data/big.txt').read() endtime = time.time() exe_time = (endtime - starttime)*1000 print 'read',exe_time starttime = time.time() f = words(f) endtime = time.time() exe_time = (endtime - starttime)*1000 print 're',exe_time starttime = time.time() f = train(f) endtime = time.time() exe_time = (endtime - starttime)*1000 print 'dict',exe_time starttime = time.time() max_list=heapq.nlargest(40,f,key=f.get) nmax_list = [] for m in max_list: if m in ignore_words: continue nmax_list.append(m) print nmax_list endtime = time.time() exe_time = (endtime - starttime)*1000 print 'sort',exe_time
相关推荐
这是一篇可以统计出英文文章中每个单词出现的次数。单词出现的频率。
MapReduce Java API实例-统计单次出现频率示例代码-MapReduceDemo.rar MapReduce Java API实例-统计单次出现频率示例代码-MapReduceDemo.rar MapReduce Java API实例-统计单次出现频率示例代码-MapReduceDemo.rar
单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计
为了统计词汇出现频率,最简单直接的做法是另外建一个Map:key是单词,value是次数。将文章从头读到尾,读到一个单词就到Map里查一下,如果查到了则次数加一,没查到则往Map里一扔。这样做虽然代码写起来简单,但...
使用C++双向列表统计文章单词出现频率,其中双向列表模仿STL中的List.
统计单词出现的频率,很好用,好东西要分享
这样一来对文件中单词频率的统计就转化为对内存链表中单词频率的统计。 在这个过程中需要用到打开文件并显示文件里的英文文章的函数openfile(),这个函数包括了打开文件并显示里面的内容,将英文文章存放到...
该程序用C++编写,其中用到一个输入英文文章的文本文件,另一文件用来输出每个单词在这篇文章中出现的次数,分行输出每个单词和次数,输顺序按出现得次数从大到小输出
统计单词个数,查询单词,及频率及所在行号.
从磁盘中输入文件,然后对文件中的单词进行统计,并由高到低的顺序输出单词及其出现频率
上一节我们简单介绍了RDD中转化和执行操作的用法,本节将通过一个具体的示例来加深对RDD的认识。 一.需求 ...4.通过reduceByKey,累计叠加每个key,统计单词出现次数; 三.代码实现 四.下载代码
从一片文档中提取出所有的单词(word),然后计算每个单词出现的频率(次数),按照一定的次序将排序好的单词以“word(频率)”的形式打印出来。 可以按照频率高低,或者单词顺序打印所有出现的单词。
输入一段单词,用二叉搜索树统计单词频率,中序遍历二叉树输出单词及其数量,MFC界面实现
历年单词出现频率总结,多次出现的考研英语单词,分次数分别统计。
单词的词频统计 基本功能要求: (1)从文件中读出一篇英文文章,将不同的单词存入堆中,建立相应的索引表确定各单词在堆中存储的位置及出现的次数。 (2)按出现的频率递减的次序输出。
本程序通过C#语言基于VS2013进行编写,旨在统计指定的文本文件(英文)中,每个单词的出现频率,输出按字典序排列的单词频度表。
1.读取文件 2.得到文件大小 3.将文件所有内容存入str数组当中 4.将所有的字符串分割成单词存到word结构体中,此时length++ 5.将word结构体的count循环置为1 6.比较单词 count ++ 7.进行排序 打印
这是自己弄得简单的文章单词出现次数统计,都是些很基础的知识,主要是文件IO的简单应用,在此基础上的很多功能还没去实现,对于简单的应用和练习,有一定的参考意义
主要为大家详细介绍了JS使用单链表统计英语单词出现次数的相关资料,列出所有单词及其出现次数,感兴趣的小伙伴们可以参考一下
这是一个统计一篇文章中的单词频率的小程序,有助于学习python的小伙伴练习