欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python英文詞頻統(tǒng)計(jì)(哈姆雷特)程序示例代碼

 更新時(shí)間:2023年06月15日 09:05:57   作者:永遠(yuǎn)是少年啊  
在文本處理方面,Python也有著得天獨(dú)厚的優(yōu)勢(shì),不僅提供了多種字符串操作函數(shù),而且還可以使用各種開源庫(kù)來處理文本,下面這篇文章主要給大家介紹了關(guān)于Python英文詞頻統(tǒng)計(jì)(哈姆雷特)程序示例的相關(guān)資料,需要的朋友可以參考下

今天繼續(xù)給大家介紹Python相關(guān)知識(shí),本文主要內(nèi)容是Python英文詞頻統(tǒng)計(jì)程序示例,主要是對(duì)英文文本——《哈姆雷特》進(jìn)行分詞。

一、英文文本詞頻統(tǒng)計(jì)思路

想要對(duì)《哈姆雷特》進(jìn)行英文單詞詞頻統(tǒng)計(jì),那么我們首先需要拿到《哈姆雷特》的原文,將之存儲(chǔ)為本地的txt文檔,然后使用Python打開該文件,讀取里面的信息。

在讀取《哈姆雷特》內(nèi)容后,我們首先需要將文件內(nèi)容進(jìn)行預(yù)處理,比如刪除文件中的特殊符號(hào),以及對(duì)文件內(nèi)容進(jìn)行全部小寫的歸一化操作等等。除此之外,我們還需要?jiǎng)h除文檔中所有的標(biāo)點(diǎn)符號(hào)。之后,我們可以將文檔使用split()函數(shù),根據(jù)空格進(jìn)行分隔,形成一個(gè)列表。

之后,我們逐個(gè)取出列表中的元素,然后統(tǒng)計(jì)列表中單詞的個(gè)數(shù)。為了進(jìn)行詞頻統(tǒng)計(jì),我們需要?jiǎng)?chuàng)建一個(gè)字典變量,以單詞為鍵,以統(tǒng)計(jì)出的單詞個(gè)數(shù)為值,在遍歷列表時(shí)不斷更新該字典,就可以最終得到一個(gè)含有所有《哈姆雷特》內(nèi)容單詞詞頻的字典了。

最后,我們按照該字典轉(zhuǎn)化為一個(gè)新的列表,就可以對(duì)值的大小對(duì)該字典進(jìn)行排序,得到《哈姆雷特》詞頻從大到小的順序了。

二、英文文本詞頻統(tǒng)計(jì)程序編寫

根據(jù)上述思路,我們可以來編寫英文文本詞頻統(tǒng)計(jì)程序了。

打開文件及讀取文件內(nèi)容程序代碼如下所示:

f=open("C:\\Users\\Administrator\\Desktop\\哈姆雷特原文.txt","rt",encoding="utf-8")
Hamlet=f.read()
f.close()

對(duì)文件內(nèi)容進(jìn)行預(yù)處理代碼如下所示:

Hamlet=Hamlet.lower()
for char in "!@#$%^&*()_+~`,./;'[]\<>?:\"{}|":
    Hamlet=Hamlet.replace(char,"")

對(duì)文件單詞進(jìn)行統(tǒng)計(jì)代碼如下所示:

counts=dict()
for word in words:
    counts[word]=counts.get(word,0)+1

對(duì)字典生成新的列表,并進(jìn)行排序,代碼如下所示:

sequence=list(counts.items())
sequence.sort(key=lambda x:x[1],reverse=True)

篩選出單詞出現(xiàn)頻率最高的10個(gè)單詞,并進(jìn)行輸出,代碼如下所示:

for i in range(10):
    word,count=sequence[i]
    print("單詞{}在Hamlet中出現(xiàn)次數(shù)為第{},出現(xiàn)了{(lán)}次".format(word,i+1,count))

最終代碼如下所示:

f=open("C:\\Users\\Administrator\\Desktop\\哈姆雷特原文.txt","rt",encoding="utf-8")
Hamlet=f.read()
f.close()
Hamlet=Hamlet.lower()
for char in "!@#$%^&*()_+~`,./;'[]\<>?:\"{}|":
    Hamlet=Hamlet.replace(char,"")
words=Hamlet.split()
counts=dict()
for word in words:
    counts[word]=counts.get(word,0)+1
sequence=list(counts.items())
sequence.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
    word,count=sequence[i]
    print("單詞{}在Hamlet中出現(xiàn)次數(shù)為第{},出現(xiàn)了{(lán)}次".format(word,i+1,count))

三、程序執(zhí)行結(jié)果展示

運(yùn)行上述程序,我們最終得到結(jié)果如下所示:

從上圖可以看出,我們成功統(tǒng)計(jì)出了在《哈姆雷特》中出現(xiàn)次數(shù)最多的10個(gè)單詞。

總結(jié)

到此這篇關(guān)于Python英文詞頻統(tǒng)計(jì)(哈姆雷特)程序的文章就介紹到這了,更多相關(guān)Python英文詞頻統(tǒng)計(jì)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python Tkinter對(duì)話框控件使用詳解

    Python Tkinter對(duì)話框控件使用詳解

    Tkinter中提供了三種對(duì)話框控件:文件選擇對(duì)話框、顏色選擇對(duì)話框和消息對(duì)話框。本文將具體為大家介紹一下這三種對(duì)話框的使用,需要的可以參考一下
    2022-01-01
  • Python全棧之線程詳解

    Python全棧之線程詳解

    這篇文章主要為大家介紹了Python全棧之線程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Python OpenCV中的resize()函數(shù)的使用

    Python OpenCV中的resize()函數(shù)的使用

    這篇文章主要介紹了Python OpenCV中的resize()函數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Django的URLconf中使用缺省視圖參數(shù)的方法

    Django的URLconf中使用缺省視圖參數(shù)的方法

    這篇文章主要介紹了Django的URLconf中使用缺省視圖參數(shù)的方法,Django是最著名的Python的web開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • Python 圖像處理之PIL庫(kù)詳解用法

    Python 圖像處理之PIL庫(kù)詳解用法

    對(duì)于圖像識(shí)別,大量的工作在于圖像的處理,處理效果好,那么才能很好地識(shí)別,因此,良好的圖像處理是識(shí)別的基礎(chǔ)。在Python中,有一個(gè)優(yōu)秀的圖像處理框架,就是PIL庫(kù),本文會(huì)介紹PIL庫(kù)中的各種方法,并列舉相關(guān)例子
    2021-11-11
  • 使用Python內(nèi)置的模塊與函數(shù)進(jìn)行不同進(jìn)制的數(shù)的轉(zhuǎn)換

    使用Python內(nèi)置的模塊與函數(shù)進(jìn)行不同進(jìn)制的數(shù)的轉(zhuǎn)換

    這篇文章主要介紹了使用Python內(nèi)置的模塊與函數(shù)進(jìn)行不同進(jìn)制的數(shù)的轉(zhuǎn)換的方法,Python也使得讀取純二進(jìn)制文件內(nèi)容非常方便,需要的朋友可以參考下
    2016-03-03
  • python tkinter基本屬性詳解

    python tkinter基本屬性詳解

    這篇文章主要介紹了python tkinter基本屬性詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Windows下python3.6.4安裝教程

    Windows下python3.6.4安裝教程

    這篇文章主要為大家詳細(xì)介紹了Windows下python3.6.4安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 使用Python實(shí)現(xiàn)一個(gè)圖片查看器

    使用Python實(shí)現(xiàn)一個(gè)圖片查看器

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖片查看器,并且可以實(shí)現(xiàn)圖片放大與縮小功能,感興趣的小伙伴可以了解下
    2025-02-02
  • 詳解在Python中創(chuàng)建條形圖追趕動(dòng)畫

    詳解在Python中創(chuàng)建條形圖追趕動(dòng)畫

    動(dòng)畫是使可視化更具吸引力和用戶吸引力的好方法。它幫助我們以有意義的方式展示數(shù)據(jù)可視化。Matplotlib是一個(gè)非常流行的數(shù)據(jù)可視化庫(kù),通常用于數(shù)據(jù)的圖形表示以及使用內(nèi)置函數(shù)的動(dòng)畫。本文將用Matplotlib繪制條形圖追趕動(dòng)畫,需要的可以參考一下
    2022-03-03

最新評(píng)論