欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python如何實(shí)現(xiàn)統(tǒng)計(jì)漢字/英文單詞數(shù)的正則表達(dá)式-創(chuàng)新互聯(lián)

這篇文章主要介紹了python如何實(shí)現(xiàn)統(tǒng)計(jì)漢字/英文單詞數(shù)的正則表達(dá)式,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)崇禮免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

思路
?使用正則式 "(?x) (?: [\w-]+ | [\x80-\xff]{3} )"獲得utf-8文檔中的英文單詞和漢字的列表。
?使用dictionary來記錄每個(gè)單詞/漢字出現(xiàn)的頻率,如果出現(xiàn)過則+1,如果沒出現(xiàn)則置1。
?將dictionary按照value排序,輸出。
源碼

#!/usr/bin/python
# -*- coding: utf-8 -*-
#
#author: rex
#blog: /tupian/20230522/
#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():
#receive files from bash
files=sys.argv[1:]
#regex compile only once
regex=re.compile("(?x) (?: [\w-]+ | [\x80-\xff]{3} )")
dict={}
#get all words from files
for f in files:
words=divide(readfile(f), regex)
dict=update_dict(dict, words)
#sort dictionary by value
#dict is now a list.
dict=sorted(dict.items(), key=itemgetter(1), reverse=True)
#output to standard-output
for i in dict:
print i[0], i[1]
if __name__=='__main__':
main()

Tips
由于使用了files=sys.argv[1:] 來接收參數(shù),因此./counter.py file1 file2 ...可以將參數(shù)指定的文件的詞頻累加計(jì)算輸出。
可以自定義該程序。例如,
?使用

regex=re.compile("(?x) ( [\w-]+ | [\x80-\xff]{3} )") 
words=[w for w in regex.split(line) if w]

這樣得到的列表是包含分隔符在內(nèi)的單詞列表,方便于以后對全文分詞再做操作。
?以行為單位處理文件,而不是將整個(gè)文件讀入內(nèi)存,在處理大文件時(shí)可以節(jié)約內(nèi)存。
?可以使用這樣的正則表達(dá)式先對整個(gè)文件預(yù)處理一下,去掉可能的html tags: content=re.sub(r"<[^>]+","",content),這樣的結(jié)果對于某些文檔更精確。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python如何實(shí)現(xiàn)統(tǒng)計(jì)漢字/英文單詞數(shù)的正則表達(dá)式”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

當(dāng)前標(biāo)題:python如何實(shí)現(xiàn)統(tǒng)計(jì)漢字/英文單詞數(shù)的正則表達(dá)式-創(chuàng)新互聯(lián)
文章出自:http://chinadenli.net/article10/eoddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)品牌網(wǎng)站設(shè)計(jì)靜態(tài)網(wǎng)站網(wǎng)站內(nèi)鏈移動(dòng)網(wǎng)站建設(shè)品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)