def processline(line, charactercounts):
for character in line:
if ord(character) in range(97, 123):
charactercounts[character] += 1
#建立字母字典
def createcharactercounts(charactercounts):
for i in range(97, 123):
charactercounts[chr(i)] = 0
def main():
#使用者輸入乙個檔名
# filename = input("enter a filename:").strip()
filename = "123.txt"
infile = open(filename, "r")
#建立用於計算詞頻的空字典
charactercounts = {}
#初始化字典鍵值
createcharactercounts(charactercounts)
for line in infile:
processline(line.lower(), charactercounts)
#從字典中獲取資料對
pairs = list(charactercounts.items())
#列表中的資料對交換位置,資料對排序
items = [[x,y] for (y,x) in pairs]
items.sort(reverse=true)
#輸出count個數詞頻結果
for i in range(len(items)):
print(items[i][1]+"\t"+str(items[i][0]))
infile.close()
#呼叫main()函式
if __name__ == '__main__':
main()
26個字母的範圍通過ord函式,ascii碼值圈定
統計英文文字字母出現頻率
使用者需求 英語的26 個字母的頻率在一本 中是如何分布的?某型別文章中常出現的單詞是什麼?某作家最常用的詞彙是什麼?飄 中最常用的短語是什麼,等等。題目要求 1 輸出某個英文文字檔案中 26 字母出現的頻率,由高到低排列,並顯示字母出現的百分比,精確到小數點後面兩位。2 字母頻率 這個字母出現的次...
統計單詞出現頻率
這裡有乙個大文字,檔案請從 獲取,在解壓後大約有20m 實際比賽時檔案是1.1g 文字中都是英文單詞,空格以及英文的標點符號 句號,逗號,分號,破折號,波浪號,雙引號,問號,單引號,感嘆號 請統計出該文字中最常出現的前10個單詞 不區分大小寫 請注意,在統計中這20個單詞請忽略 the,and,i,...
統計元素出現頻率
from collections import counter import random data random.randint 0,20 for in range 20 print 20個0 20之間的隨機數 data d dict.fromkeys data,0 以data 現的數字為鍵,0為...