1. 程式人生 > >利用python內建函式,快速統計單詞在文字中出現的次數

利用python內建函式,快速統計單詞在文字中出現的次數

python中包含許多標準程式設計資料結構,如list(列表),tuple(元組)、dict(字典)和set(),如果現有的資料型別不能滿足需求,可以派生某個內建型別進行定製,或者使用collections中定義的某個抽象基類作為起點構建一個新的容器型別。

collections模組包含除內建list,dict,tuple 以外的其它容器資料型別。counter作為一個容器,可以跟蹤相同的值增加了多少次。這個類可以用來實現其他語言中常用的 bag 和 multiset 資料結構來實現演算法。

初始化
counter支援三種形式的初始化,條用counter的建構函式時可以提供一個元素序列或者一個包含鍵和計數的字典,還可以使用關鍵字引數將字串名對映到計數。

簡單演示:

#coding=utf-8

import collections

str1=['a','b','c','d','a','a','b','c']
m=collections.Counter(str1)

print str1
print m
print m['a']#字元a出現的次數
print m['b']#字元b出現的次數

結果:

下面選取一個英文的文字,並對其中單詞出現的次數進行統計,返回某個單詞出現的次數
python一行程式碼能實現的功能,就不要用兩行

#coding=utf-8

import collections
import os

with open
('str.txt') as file1:#開啟文字檔案 str1=file1.read().split(' ')#將文章按照空格劃分開 print "原文字:\n %s"% str1 print "\n各單詞出現的次數:\n %s" % collections.Counter(str1) print collections.Counter(str1)['was']#以字典的形式儲存,每個字元對應的鍵值就是在文字中出現的次數

結果:

簡短的程式碼,十分易懂,一看就會。