python统计文本字符串里单词出现频率的方法

本文实例讲述了python统计文本字符串里单词出现频率的方法。分享给大家供大家参考。具体实现方法如下:

# word frequency in a text
# tested with Python24  vegaseat  25aug2005
# Chinese wisdom ...
str1 = """Man who run in front of car, get tired.
Man who run behind car, get exhausted."""
print "Original string:"
print str1
print
# create a list of words separated at whitespaces
wordList1 = str1.split(None)
# strip any punctuation marks and build modified word list
# start with an empty list
wordList2 = []
for word1 in wordList1:
  # last character of each word
  lastchar = word1[-1:]
  # use a list of punctuation marks
  if lastchar in [",", ".", "!", "?", ";"]:
    word2 = word1.rstrip(lastchar)
  else:
    word2 = word1
  # build a wordList of lower case modified words
  wordList2.append(word2.lower())
print "Word list created from modified string:"
print wordList2
print
# create a wordfrequency dictionary
# start with an empty dictionary
freqD2 = {}
for word2 in wordList2:
  freqD2[word2] = freqD2.get(word2, 0) + 1
# create a list of keys and sort the list
# all words are lower case already
keyList = freqD2.keys()
keyList.sort()
print "Frequency of each word in the word list (sorted):"
for key2 in keyList:
 print "%-10s %d" % (key2, freqD2[key2])

希望本文所述对大家的Python程序设计有所帮助。

(0)

相关推荐

  • 布同 统计英文单词的个数的python代码

    word中对于英文单词的统计也很好,大家不妨试试.如果没有安装word,而且你也是程序员的话,那么可以使用我的这段代码.通过测试,word的统计结果是18674,软件的统计结果是18349,相差不到2%,可以作为一个参考. 代码如下: 复制代码 代码如下: # -*- coding: utf-8 -*- import os,sys info = os.getcwd() #获取当前文件名称 fin = open(u'谷歌C++编程代码规范.txt') info = fin.read() alist

  • Python实现单词翻译功能

    在进行英文文献阅读时,经常会出现一些不认识的单词,但对于一些pdf阅读器,比如Foxit阅读器使用翻译功能需要点击(Extra->Translate),并且启用了翻译功能将不能使用注释功能,这对于阅读者来说将是极不方便的.所以为了方便查询单词,自己开发了个Windows环境下的Python程序用于监控并查询单词,而只需的操作就是选中单词并按Ctrl+C即可. 该Python程序主要分为三部分:从另外一个应用程序中获取需要查询的单词,单词翻译和单词显示. 从另外一个应用程序中获取需要查询的单词涉及

  • Python实现单词拼写检查

    这几天在翻旧代码时发现以前写的注释部分有很多单词拼写错误,这些单词错得不算离谱,应该可以用工具自动纠错绝大部分.用 Python 写个拼写检查脚本很容易,如果能很好利用 aspell/ispell 这些现成的小工具就更简单了. 要点 1.输入一个拼写错误的单词,调用 aspell -a 后得到一些候选正确单词,然后用距离编辑进一步嗮选出更精确的词.比如运行 aspell -a,输入 'hella' 后得到如下结果: hell, Helli, hello, heal, Heall, he'll,

  • python统计文本文件内单词数量的方法

    本文实例讲述了python统计文本文件内单词数量的方法.分享给大家供大家参考.具体实现方法如下: # count lines, sentences, and words of a text file # set all the counters to zero lines, blanklines, sentences, words = 0, 0, 0, 0 print '-' * 50 try: # use a text file you have, or google for this one

  • 使用Python从有道词典网页获取单词翻译

    从有道词典网页获取某单词的中文解释. import re import urllib word=raw_input('input a word\n') url='http://dict.youdao.com/search?q=%s'%word content=urllib.urlopen(url) pattern=re.compile("</h2.*?</ul>",re.DOTALL) result=pattern.search(content.read()).gro

  • 浅析Python中将单词首字母大写的capitalize()方法

    capitalize()方法返回字符串的一个副本,只有它的第一个字母大写.对于8位的字符串,这个方法与语言环境相关. 语法 以下是capitalize()方法的语法: str.capitalize() 参数 NA 返回值 此方法返回的字符串只有它的第一个字符大写的副本. 例子 下面的示例演示了capitalize方法的使用. #!/usr/bin/python str = "this is string example....wow!!!"; print "str.capit

  • python实现统计汉字/英文单词数的正则表达式

    思路 •使用正则式 "(?x) (?: [\w-]+ | [\x80-\xff]{3} )"获得utf-8文档中的英文单词和汉字的列表. •使用dictionary来记录每个单词/汉字出现的频率,如果出现过则+1,如果没出现则置1. •将dictionary按照value排序,输出. 源码 复制代码 代码如下: #!/usr/bin/python # -*- coding: utf-8 -*- # #author: rex #blog: http://iregex.org #filen

  • Python实现统计英文单词个数及字符串分割代码

    字符串分割 复制代码 代码如下: str="a|and|hello|||ab" alist = str.split('|') print alist 结果 复制代码 代码如下: str="a hello{这里换成5个空格}world{这里换成3个空格}" alist=str.split(' ') print alist 统计英文单词的个数的python代码 复制代码 代码如下: # -*- coding: utf-8 -*- import os,sys info =

  • python用字典统计单词或汉字词个数示例

    有如下格式的文本文件 复制代码 代码如下: /"/请/!/"/"/请/!/"/两名/剑士/各自/倒转/剑尖/,/右手/握/剑柄/,/左手/搭于/右手/手背/,/躬身行礼/./两/人/身子/尚未/站/直/,/突然/间/白光闪/动/,/跟着/铮的/一/声响/,/双剑相/交/,/两/人/各/退一步/./旁/观众/人/都/是/"/咦/"/的/一声/轻呼/./青衣/剑士/连/劈/三/剑/ 将这段话进行词频统计,结果是  词-词数  的形式,比如  请  2

  • Python实现统计单词出现的个数

    最近在看python脚本语言,脚本语言是一种解释性的语言,不需要编译,可以直接用,由解释器来负责解释.python语言很强大,而且写起来很简洁.下面的一个例子就是用python统计单词出现的个数. import sys import string #import collections if len(sys.argv) == 1 or sys.argv[1] in {"-h", "--help"}: print("usage: uniqueword fil

随机推荐