python3 实现统计单词表中每个字母的出现频率
2017-08-09 14:28
1196 查看
作为python字典与数组概念的运用,统计字母表中每个字母出现的频率,作为练习再合适不过。
解决问题过程中需要用到的知识点包括:字典的创建、增添元素,数组的创建、增添元素,数组的遍历等
这个问题解决的思路为:首先从文件中按行依次读入单词,去除换行符后添加到数组 new_list 中。依次遍历数组 new_list 的每一个字符串,将每个字符串连同上一次循环中的频率统计结果 old_d (old_d在遍历new_list之前进行初始化)一起作为实参传递给频率统计函数 histogram()。histogram()函数在上一轮频率统计基础上得出本轮频率统计结果,结果通过字典 d 传回,将值赋给 old_d 。直到遍历完new_list,再将 old_d 统计结果打印。
解决问题过程中需要用到的知识点包括:字典的创建、增添元素,数组的创建、增添元素,数组的遍历等
这个问题解决的思路为:首先从文件中按行依次读入单词,去除换行符后添加到数组 new_list 中。依次遍历数组 new_list 的每一个字符串,将每个字符串连同上一次循环中的频率统计结果 old_d (old_d在遍历new_list之前进行初始化)一起作为实参传递给频率统计函数 histogram()。histogram()函数在上一轮频率统计基础上得出本轮频率统计结果,结果通过字典 d 传回,将值赋给 old_d 。直到遍历完new_list,再将 old_d 统计结果打印。
'''transform string into dictionary s is input string d is dictionary to restore every bit in string ''' def histogram(s, old_d): d = old_d for c in s: d[c] = d.get(c, 0) + 1 return d '''This function can calculate the frequency of every letter in alphabet ''' fin = open("words.txt") new_list = [] for line in fin: rs = line.rstrip('\n') #delete the '\n' after every letter new_list.append(rs) # new_list is used to restore letters old_d = dict() # initialize the dictionary for i in range(len(new_list)): #calculate the letter #frequency of every word old_d = histogram(new_list[i], old_d) #old_d is used to #restore letter frequency before new_list[i] print(old_d)
相关文章推荐
- 一个简单的程序,统计文本文档中的单词和汉字数,逆序排列(出现频率高的排在最前面)。python实现。
- 字母出现频率统计用python实现
- python---字符串的拼接、去重、反转、字母花样排序、单词出现判断、统计文件特定单词频率lambda、硬盘容量、列表转字符串
- python实现统计文本中单词出现的频率
- 任意一个英文的纯文本文件,统计其中的单词出现的个数(shell python 两种语言实现)
- 统计文件中各单词出现的频率(Hash表实现)
- 统计一个文档中出现频率最多的k个单词的实现
- C语言通过二叉树实现单词出现频率的统计
- Java上机实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?
- 用hash表统计文本文件中每个单词出现的频率
- 单词统计_统计文章中每个单词出现的频率
- python实现统计单词出现的位置和数量
- Python实现统计单词出现的个数
- 黄聪:Python查看文章中每个单词的出现频率
- hadoop-python——统计单词出现的频率
- Python 统计文章单词出现频率
- 实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。
- 编写一个程序,统计给定文件中包含的每个单词出现的频率,并按单词表的顺序显示统计结果
- Python实现计算一段文本中每个单词出现的次数
- 每天一个小程序之python实现统计英文单词出现个数