牛骨文教育服务平台(让学习变的简单)
博文笔记

字母出现频率统计用python实现

创建时间:2017-07-03 投稿人: 浏览次数:939
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码值圈定
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。