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

来源:互联网 发布:大学生心理压力数据 编辑:程序博客网 时间:2024/06/06 01:26

1.创建一个列表,用来存放文件中的字符串

2.使用正则表达式来抓取英文单词

3.对单词进行计数统计

 

from collections import Counterimport redef  ceate_list(filename):    datalist[]=0    with open(filename,'r') as f:        for line in f:        content=re.sub("\"|.|\."," ",line)        datalist.extend(content.strip().split(' '))    return datalistdef wc(filename){     print Counter(create_list(filename))}if __name__="__main__":        filename="wonderful.txt"       wc(filename)

注释:

re.sub的功能:

re是regular expression的缩写,表示正则表达式;sub是substitute的缩写,表示替换;

re.sub功能:对于输入的一个字符串,利用正则表达式的强大字符串处理功能,去实现相对复杂的字符串替换处理,然后返回被替换后的字符串

re.sub(pattern,repl,string,count=0,flags=0) 前三者为必选:

   pattern:正则表达式中的模式字符串;

   repl:被替换的字符串或者函数(被替换的字符串是普通的字符串,不是pattern)

  string:表示被处理被替换的那个原始string字符串

Python中的extend()和append()函数:

列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种可以操作。

  列表可包含任何数据类型的元素,单个列表中的元素无须全为同一个类型。

  extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。

  append()方法向列表的尾部添加一个新的元素。只接受一个参数。

Python strip()函数和 split()函数介绍:

  strip函数:

   声明:s为字符串,rm为要删除的字符序列

   s.strip(rm) 删除s字符串中开头、结尾处,位于rm删除序列的字符;

   s.lstrip(rm) 删除s字符串中开头处,位于rm删除序列的字符;

   s.rstrip(rm )删除s字符串中结尾处,位于rm删除序列的字符;

     注意:当rm为空时,默认为删除空白符(包括‘\n’,‘\r’,‘ \t’,‘ ’)

   split()函数:将字符串分隔 

      按某一个字符分割。如‘ .’;

     按某一个字符分割,且分割n次split(‘ .’,1);

     split()函数后面还可以加正则表达式,split(‘. ’)[0]-----代表取第一个元素;按反序排列,[::]按正序排列



阅读全文
0 0
原创粉丝点击