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

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

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

3.对单词进行计数统计

 

from collections import Counter
import re

def  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 datalist

def 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值