bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Python入門之后的一個(gè)練習(xí)題-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“Python入門之后的一個(gè)練習(xí)題”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Python入門之后的一個(gè)練習(xí)題”這篇文章吧。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了余干免費(fèi)建站歡迎大家使用!

題目:

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

前言:

這道題在實(shí)際應(yīng)用場(chǎng)景中使用比較廣泛,記得哪里看到說李笑來就利用他的編程技能出版過一本背單詞的暢銷書,統(tǒng)計(jì)歷年來四六級(jí)、托福考試中出現(xiàn)的高頻詞匯,學(xué)生根據(jù)詞頻來記單詞,這種方式深受大家喜歡。這就是一個(gè)把編程技能用來解決實(shí)際問題的典型場(chǎng)景。

所以,哪怕你不是程序員,如果能掌握編程技能的話,也能給你的工作帶來極大的便利。

另外,在做數(shù)據(jù)分析時(shí),那些詞云效果本質(zhì)上都是基于詞頻統(tǒng)計(jì)來控制字體的大小,如果你能熟練運(yùn)用Python中的知識(shí)來解決問題的話,那說明你真正入門Python了。

分析:

本題主要考察以下幾個(gè)方面的知識(shí)點(diǎn):

1、如何正確讀寫文件

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

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

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

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

 3、匿名函數(shù)的使用

剛說了sorted函數(shù)可以指定一個(gè)參數(shù)來控制排序的規(guī)則,這個(gè)參數(shù)可以是一個(gè)函數(shù),這種場(chǎng)景往往匿名函數(shù),就是我們常說的lambda函數(shù)顯得很應(yīng)景。

4、字典類型的運(yùn)用

做詞頻統(tǒng)計(jì),用字典無疑是最合適的數(shù)據(jù)類型,單詞作為字典的key, 單詞出現(xiàn)的次數(shù)作為字典的 value,很方便地就記錄好了每個(gè)單詞的頻率,字典很像我們的電話本,每個(gè)名字關(guān)聯(lián)一個(gè)電話號(hào)碼。另外,字典大的特點(diǎn)就是它的查詢速度會(huì)非常快。理想情況下時(shí)間復(fù)雜度為O(1),我是說理想情況,如果你想深入了解字典的話,建議看看這篇文章。Python中提供了豐富的數(shù)據(jù)結(jié)構(gòu),要懂得根據(jù)應(yīng)用場(chǎng)景正確選擇合適的數(shù)據(jù)類型

5、正則表達(dá)式的運(yùn)用

處理文本、字符串,正則表達(dá)式簡(jiǎn)直是神器,無論是做數(shù)據(jù)爬蟲還是表單驗(yàn)證使用非常廣泛,當(dāng)然,正則表達(dá)式并不是 Python 特有的東西,所有編程語言都支持,我們除了學(xué)習(xí)正則表達(dá)式的基本規(guī)則之外就是Python中的re模塊提供的各種函數(shù)了,只有熟悉了API 我們才能運(yùn)用到實(shí)際場(chǎng)景中去。關(guān)于正則表達(dá)式推薦一篇文章:Python正則表達(dá)式操作指南

以上5點(diǎn),每個(gè)點(diǎn)都可以整理出一篇文章出來

實(shí)現(xiàn):

分析完之后,我們實(shí)現(xiàn)起來其實(shí)是非常快的。所以我們?cè)谀玫揭粋€(gè)需求的時(shí)候,首先肯定是把需求弄清楚,想想大概可以用哪些技術(shù)來實(shí)現(xiàn),隨后才是動(dòng)手寫代碼,其實(shí)我們?cè)诠ぷ魃希嬲龑懘a的時(shí)間還不到一半。

# -*- coding:utf-8 -*-
import io
import re

class Counter:
 def __init__(self, path):
 """
 :param path: 文件路徑
 """
 self.mapping = dict()
 with io.open(path, encoding="utf-8") as f:
 data = f.read()
 words = [s.lower() for s in re.findall("\w+", data)]
 for word in words:
 self.mapping[word] = self.mapping.get(word, 0) + 1

 def most_common(self, n):
 assert n > 0, "n should be large than 0"
 return sorted(self.mapping.items(), key=lambda item: item[1], reverse=True)[:n]

if __name__ == '__main__':
 most_common_5 = Counter("importthis.txt").most_common(5)
 for item in most_common_5:
 print(item)
#注:這里的文件是以Python之禪的19條格言保存到文本中進(jìn)行統(tǒng)計(jì)的。

打印結(jié)果:

('is', 10)
('better', 8)
('than', 8)
('the', 6)
('to', 5)

以上是“Python入門之后的一個(gè)練習(xí)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站標(biāo)題:Python入門之后的一個(gè)練習(xí)題-創(chuàng)新互聯(lián)
本文來源:http://vcdvsql.cn/article4/dehgie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)網(wǎng)站排名服務(wù)器托管移動(dòng)網(wǎng)站建設(shè)網(wǎng)站收錄定制網(wǎng)站

廣告

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

成都定制網(wǎng)站建設(shè)