国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python統(tǒng)計單詞出現(xiàn)的次數(shù)

2020-02-22 23:35:43
字體:
供稿:網(wǎng)友

題目:

統(tǒng)計一個文件中每個單詞出現(xiàn)的次數(shù),列出出現(xiàn)頻率最多的5個單詞。

前言:

這道題在實際應(yīng)用場景中使用比較廣泛,比如統(tǒng)計歷年來四六級考試中出現(xiàn)的高頻詞匯,記得李笑來就利用他的編程技能出版過一本背單詞的暢銷書,就是根據(jù)詞頻來記單詞,深受學(xué)生喜歡。這就是一個把編程技能用來解決實際問題的典型場景。另外,在數(shù)據(jù)分析時,那些詞云效果本質(zhì)上都是基于詞頻統(tǒng)計來調(diào)整字體的大小,如果你能熟練運用Python中的知識來解決問題的話,說明你真的入門Python了。

分析

本題主要考察以下幾個方面的知識點:

1、如何正確讀寫文件

在python中讀寫文件可以使用內(nèi)置函數(shù)open(),而 open 函數(shù)在python2 和 python3 中有一定的區(qū)別,比如 Python 中可以指定讀寫文件的編碼格式,而 Python 則不可以,為了同時兼容2和3,我們通常會使用io模塊下面的 open 函數(shù),大家可以查文檔搞清楚它們之間的區(qū)別,培養(yǎng)主動學(xué)習(xí)能力和查資料的習(xí)慣。

另外一點是讀寫文件完成之后是需要關(guān)閉文件描述符的,除了可以使用 try...except...finally的語法之后,我們還可以使用更優(yōu)雅的 with … as 的語法來自動關(guān)閉文件。

2、如何對數(shù)據(jù)進行排序

sorted函數(shù)是一個使用頻率很高的內(nèi)置函數(shù),它的用法也很強大,因為它可以通過指定參數(shù) key 來進行自定義排序,也就意味著你不僅可以對數(shù)字排序、對字母排序、還可以對列表、字典、自定義的對象進行排序,你只需要要告訴 sorted 函數(shù)的排序規(guī)則是什么,比如一個people對象,我既可以根據(jù)年齡排序也可以根據(jù)身高體重來排序,所以這個函數(shù)時非常靈活的,另外,對于列表對象有自帶的 sort 方法,如果能區(qū)分清楚 list.sort 與 sorted 之間區(qū)別那說明你已經(jīng)能靈活運用了。

3、字典數(shù)據(jù)類型的運用

做詞頻統(tǒng)計,用字典無疑是最合適的數(shù)據(jù)類型,單詞作為字典的key, 單詞出現(xiàn)的次數(shù)作為字典的 value,很方便地就記錄好了每個單詞的頻率,字典很像我們的電話本,每個名字關(guān)聯(lián)一個電話號碼。另外,字典最大的特點就是它的查詢速度會非常快。理想情況下時間復(fù)雜度為O(1),我是說理想情況,如果你想深入了解字典的話,建議看看這篇文章 https://www.laurentluce.com/posts/python-dictionary-implementation/

4、正則表達式的運用

對文本、字符串處理,正則表達式簡直是神器,無論是做數(shù)據(jù)爬蟲還是數(shù)據(jù)清洗使用非常廣泛,當(dāng)然,正則表達式并不是Python特有的東西,所有編程語言都支持,我們要做的除了學(xué)習(xí)正則表達式還有他的API,只有熟悉了API我們才能運用到實際場景中去。關(guān)于正則表達式推薦一篇文章:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html ,另外我還發(fā)現(xiàn)有同學(xué)引入了jieba分詞庫,這個庫在做中文分詞非常有用,感興趣的可以去了解一下。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 沁源县| 哈密市| 获嘉县| 龙口市| 乌拉特前旗| 阳春市| 东阿县| 隆回县| 宁乡县| 益阳市| 夏津县| 资兴市| 柘荣县| 德保县| 罗源县| 盘锦市| 贵溪市| 斗六市| 永兴县| 内丘县| 敦煌市| 西林县| 井陉县| 鹤山市| 南宫市| 奉化市| 茌平县| 永丰县| 嘉鱼县| 丁青县| 微博| 阜南县| 鄂尔多斯市| 平武县| 乌拉特后旗| 平罗县| 蒙阴县| 尼勒克县| 云南省| 保亭| 武胜县|