婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 利用Python3實現(xiàn)統(tǒng)計大量單詞中各字母出現(xiàn)的次數(shù)和頻率的方法

利用Python3實現(xiàn)統(tǒng)計大量單詞中各字母出現(xiàn)的次數(shù)和頻率的方法

熱門標(biāo)簽:北京外呼電銷機器人招商 鄭州智能外呼系統(tǒng)中心 電銷機器人 金倫通信 賓館能在百度地圖標(biāo)注嗎 crm電銷機器人 汕頭電商外呼系統(tǒng)供應(yīng)商 南京crm外呼系統(tǒng)排名 400電話 申請 條件 云南地圖標(biāo)注

首先以只讀方式打開單詞文件,利用列表推導(dǎo)式創(chuàng)建兩個列表
列表sta記錄各單詞出現(xiàn)的次數(shù),列表freq記錄各單詞出現(xiàn)的頻率

f = open('5500詞.txt','r',encoding='utf-8')
sta = [0 for i in range(26)]
freq = [0 for i in range(26)]

單詞格式如下所示:
a [ei] art.一(個);每一(個);(同類事物中)任一個
abandon [ə'bændən] vt.離棄,丟棄;遺棄,拋棄;放棄
abdomen [æb'dəumen] n.腹,下腹(胸部到腿部的部分)
abatement [ə'beitmənt] n.減(免)稅,打折扣,沖銷
abide [ə'baid] vi.(abode,abided)(by)遵守;堅持;vt.忍受,容忍

每行一個單詞,所以我們選擇按行讀取文件

for i in range(5500):
  buf = f.readline()

然后依次統(tǒng)計每個字符串中的字母個數(shù),注意大寫字母也要統(tǒng)計(后面的字母省略)

for j in buf:
    if j == 'a' or j == 'A':
      sta[0] = sta[0] + 1
    elif j == 'b' or j == 'B':
      sta[1] = sta[1] + 1

注意到每個單詞后都有音標(biāo),所以遇到 中括號" [ "時停止計數(shù)

if j == '[':
      break

然后每五個一行,依次輸出各個單詞出現(xiàn)的次數(shù),將print函數(shù)中的end參數(shù)由默認(rèn)換行改成幾個空格,使輸出更格式化。字母利用ASCII碼輸出

print('5498個詞匯中,各字母出現(xiàn)的次數(shù)分別為:\n')
asc = 97
for i in range(26):
  if i  25:
    print("%c" % asc,':',sta[i],end='  ')
    if (i + 1) % 5 == 0:
      print('\n')
  else:
    print("%c" % asc,':',sta[i])
  asc = asc + 1

利用一個for遍歷計算出所有字母數(shù)量的總和

sum = 0
for i in sta:
  sum = sum + i

利用一個for遍歷計算出各字母出現(xiàn)的頻率,注意到Python中計算出的頻率會自動保留17位小數(shù),為了方便查看,使用round()函數(shù)保留四位小數(shù),值得注意的是,使用round()函數(shù)會自動去掉數(shù)字末尾的0

for i in range(26):
  freq[i] = round(sta[i] / sum,4)

再以每五個一行,依次輸出各個單詞出現(xiàn)的頻率,將print函數(shù)中的end參數(shù)由默認(rèn)換行改成幾個空格,使輸出更格式化。字母利用ASCII碼輸出。

print('各字母出現(xiàn)的頻率分別為:\n')
for i in range(26):
  if i  25:
    print("%c" % asc,':',freq[i],end='  ')
    if (i + 1) % 5 == 0:
      print('\n')
  else:
    print("%c" % asc,':',freq[i])
  asc = asc + 1

最后輸出的結(jié)果如下圖所示:


上概率論的課時,偶然看見居然有人拿著詞典去數(shù)字母的數(shù)量,就想能不能寫一個自動統(tǒng)計的程序,于是就隨便寫著玩。代碼功底很差,所以寫得很丑(居然有25個elif),所以看個樂呵就好了。

總的來說,我覺得有這些可以改進的地方:
①讀取單詞的方法可以改進,這種一行一行讀取的方式,對格式要求很高,很難找到
②用字典來存儲頻數(shù)和頻率是否會更好?后面輸出的時候可以避免使用ASCII碼,但是字典推導(dǎo)式我屬實記不清了
③判斷計數(shù)的這些if和elif能否抽象出一個方法?增加代碼復(fù)用
④round()函數(shù)會自動去掉小數(shù)后面的0,有沒有什么方法使0被保留下來?這樣輸出的格式會更好看

我的代碼的優(yōu)點估計只有一點了:
①Python初學(xué)者就能看懂

到此這篇關(guān)于利用Python3實現(xiàn)統(tǒng)計大量單詞中各字母出現(xiàn)的次數(shù)和頻率的方法的文章就介紹到這了,更多相關(guān)Python3字母出現(xiàn)次數(shù)和頻率內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python 統(tǒng)計數(shù)據(jù)集標(biāo)簽的類別及數(shù)目操作
  • Python統(tǒng)計可散列的對象之容器Counter詳解
  • Python 統(tǒng)計列表中重復(fù)元素的個數(shù)并返回其索引值的實現(xiàn)方法
  • Python實戰(zhàn)之單詞打卡統(tǒng)計
  • python之cur.fetchall與cur.fetchone提取數(shù)據(jù)并統(tǒng)計處理操作
  • python自動統(tǒng)計zabbix系統(tǒng)監(jiān)控覆蓋率的示例代碼
  • python 統(tǒng)計代碼耗時的幾種方法分享
  • Python統(tǒng)計列表元素出現(xiàn)次數(shù)的方法示例
  • python統(tǒng)計RGB圖片某像素的個數(shù)案例
  • Python jieba 中文分詞與詞頻統(tǒng)計的操作
  • 使用Python 統(tǒng)計文件夾內(nèi)所有pdf頁數(shù)的小工具
  • python 統(tǒng)計list中各個元素出現(xiàn)的次數(shù)的幾種方法
  • python調(diào)用百度AI接口實現(xiàn)人流量統(tǒng)計
  • Python代碼覆蓋率統(tǒng)計工具coverage.py用法詳解
  • python 爬蟲基本使用——統(tǒng)計杭電oj題目正確率并排序
  • 利用python匯總統(tǒng)計多張Excel
  • python統(tǒng)計mysql數(shù)據(jù)量變化并調(diào)用接口告警的示例代碼
  • 用python實現(xiàn)監(jiān)控視頻人數(shù)統(tǒng)計

標(biāo)簽:石家莊 西寧 文山 錫林郭勒盟 昆明 梅州 浙江 懷化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用Python3實現(xiàn)統(tǒng)計大量單詞中各字母出現(xiàn)的次數(shù)和頻率的方法》,本文關(guān)鍵詞  利用,Python3,實現(xiàn),統(tǒng)計,大量,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用Python3實現(xiàn)統(tǒng)計大量單詞中各字母出現(xiàn)的次數(shù)和頻率的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于利用Python3實現(xiàn)統(tǒng)計大量單詞中各字母出現(xiàn)的次數(shù)和頻率的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 广河县| 会泽县| 花莲县| 古交市| 陆河县| 汝城县| 吴堡县| 从化市| 巴楚县| 普兰店市| 牡丹江市| 吐鲁番市| 茌平县| 安新县| 临夏市| 马鞍山市| 锦屏县| 临清市| 普洱| 云梦县| 荃湾区| 郁南县| 镇宁| 叶城县| 华容县| 石台县| 宁晋县| 宜都市| 宁河县| 扎囊县| 平遥县| 高尔夫| 南开区| 将乐县| 和田市| 钟山县| 博客| 闻喜县| 武定县| 古蔺县| 滨州市|