Python Show-Me-the-Code 第 0004 题 统计单词

第 0004 题:任一个英文的纯文本文件,统计其中的单词出现的个数。

思路:用正则表达式匹配响应的单词和数字,然后让Counter计算单词的词频,再用most_common方法返回一个按照词频排序的包含该词语和该词语出现的次数的元组的列表。

0004.统计单词.py

#!/usr/bin/env python
#coding: utf-8
import re
from collections import Counter
FILESOURCE = ‘/home/bill/Desktop/testarticle‘

def getMostCommonWord(articlefilesource):
    ‘‘‘输入一个英文的纯文本文件,统计其中的单词出现的个数‘‘‘
    pattern = r‘‘‘[A-Za-z]+|\$?\d+%?$‘‘‘
    with open(articlefilesource) as f:
        r = re.findall(pattern,f.read())
        return Counter(r).most_common()

if __name__ == ‘__main__‘:
    print getMostCommonWord(FILESOURCE)

其中的文章是随便从BBC上选的一篇新闻

时间: 2024-11-13 21:36:45

Python Show-Me-the-Code 第 0004 题 统计单词的相关文章

【基础练习】【字符串处理】noip2011普及组第2题 统计单词数题解

这又是一道成功加入"容易吗"系列的基础题= =原本很简单,可是我一开始太大意看错了题,以为是让输出该单词是第几个单词,实际上应该输出该单词的首字母在第几个位置:改过后只得了二十分,看了一组数据,原来第一个单词前面可以有前导空格--幸亏其他单词前没有,否则还真不知道怎么办:实现的时候又出了各种问题.于是我决定总结一下. 题目: 给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大

python每日一练:0004题

第 0004 题: 任一个英文的纯文本文件,统计其中的单词出现的个数. import re count = 0 with open('./EnglishText.txt','r') as f: temp = f.readlines() for i in temp: regList = re.findall('[a-zA-Z0-9]+',i) #找出每一行中的单词数 count += len(regList) print("文本EnglishText.txt中单词的个数为:{0}".fo

python练习册 每天一个小程序 第0004题

1 #-*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目描述:任一个英文的纯文本文件,统计其中的单词出现的个数. 5 参考学习链接: 6 re http://www.cnblogs.com/tina-python/p/5508402.html#undefined 7 collections http://blog.csdn.net/liufang0001/article/details/54618484 8 ''' 9 import re,co

如何在python脚本开发做code review

在软件项目开发中,我们经常提到一个词"code review".code review中文翻译过来就是代码评审或复查,简而言之就是编码完成后由其他人通过阅读代码来检查代码的质量(可编译.可运行.可读.可维护.可复用),这些性质都比较抽象,但是一般都可以通过以下的检查点来实现: 检查代码的命名方式是否符合规范,代码的可读和可维护必须要求所有参与编码的同事使用的命名有统一的规范(注意每个人有自己的代码风格,但是要符合可读性的代码规范): 检查代码的注释,注释一般包括:1.类要有类用途和使用

Python Show-Me-the-Code 第 0020题 统计通话时长

第 0020 题: 登陆中国联通网上营业厅 后选择「自助服务」 –> 「详单查询」,然后选择你要查询的时间段,点击「查询」按钮,查询结果页面的最下方,点击「导出」,就会生成类似于 2014年10月01日-2014年10月31日通话详单.xls 文件.写代码,对每月通话时间做个统计. 思路: 我的手机号是移动的,所以我选的是导出移动手机号某月的详单.打开表格文件发现每行的格式是: 序号 通话地 通话类型 对方号码 开始时间 通话时长 移动话费 长途话费 它的通话类型是包括套餐,主叫,被叫,上网流量

面试Python工程师,这几道编码题有必要背背,Python面试题No8

第1题:列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]. map是python高阶用法,字面意义是映射,它的作用就是把一个数据结构映射成另外一种数据结构. map用法比较绕,最好是对基础数据结构很熟悉了再使用,比如列表,字典,序列化这些. map的基本语法如下: map(函数, 序列1, 序列2, ...) Python 2.x 返回列表. Python 3.x 返回迭代器. list = [1,2,3,

python核心编程第4章课后题答案(第二版75页)

4-1Python objects All Python objects have three attributes:type,ID,and value. All are readonly with a possible expection of the value(which can be changed only if the object is mutable). 4-5str()and repr() repr() is a built-in function while str() wa

[Python unittest] 3-Organizing test code

组织测试代码 前面已经了解到测试的原理和步骤,但只是默认类string的测试,如果是我们自己写的类改怎么测试呢? 如下 class Widget(object): def __init__(self,name,width=50,height=50): self.name = name self.width = width self.height = height def __repr__(self): return "Widget({0})".format(self.name) # 返

python 核心编程第六章课后题自己做的答案

6–6. 字符串.创建一个 string.strip()的替代函数:接受一个字符串,去掉它前面和后面的 空格(如果使用 string.*strip()函数那本练习就没有意义了) 1 'Take a string and remove all leading and trailing whitespace' 2 3 def newStrip(str): 4 'delete blanks around a string' 5 _end = len(str) 6 _start = 0 7 8 # de