字母出现频率统计用python实现
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]+" "+str(items[i][0])) infile.close() #调用main()函数 if __name__ == "__main__": main()
26个字母的范围通过ord函数,ASCII码值圈定
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。