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

该博客介绍了一个使用Python统计UTF-8文档中汉字和英文单词出现频率的方法。通过正则表达式匹配汉字和英文单词,利用dictionary记录并更新频率,最后按频率排序输出。代码示例中展示了如何处理多个文件,以及对大文件进行内存优化的技巧。
摘要由CSDN通过智能技术生成

思路

•使用正则式 "(?x) (?: [\w-]+ | [\x80-\xff]{3} )"获得utf-8文档中的英文单词和汉字的列表。

•使用dictionary来记录每个单词/汉字出现的频率,如果出现过则+1,如果没出现则置1。

•将dictionary按照value排序,输出。

源码

#!/usr/bin/python

# -*- coding: utf-8 -*-

#

#author: rex

#blog: http://iregex.org

#filename counter.py

#created: mon sep 20 21:00:52 2010

#desc: convert .py file to html with vim.

import sys

import re

from operator import itemgetter

def readfile(f):

with file(f,"r") as pfile:

return pfile.read()

def divide(c, regex):

#the regex below is only valid for utf8 coding

return regex.findall(c)

def update_dict(di,li):

for i in li:

if di.has_key(i):

di[i]+=1

else:

di[i]=1

return di

def main():</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值