Python3实现统计单词表中每个字母出现频率的方法示例


Posted in Python onJanuary 28, 2019

本文实例讲述了Python3实现统计单词表中每个字母出现频率的方法。分享给大家供大家参考,具体如下:

作为python字典与数组概念的运用,统计字母表中每个字母出现的频率,作为练习再合适不过。

解决问题过程中需要用到的知识点包括:字典的创建、增添元素,数组的创建、增添元素,数组的遍历等

这个问题解决的思路为:首先从文件中按行依次读入单词,去除换行符后添加到数组 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)

这里words.txt文档内容如下:

But soft what light through yonder window breaks
It is the east and Juliet is the sun
Arise fair sun and kill the envious moon
Who is already sick and pale with grief

代码运行结果:

{'B': 1, 'u': 6, 't': 12, ' ': 29, 's': 11, 'o': 8, 'f': 3, 'w': 4, 'h': 9, 'a': 10, 'l': 6, 'i': 13, 'g': 3, 'r': 7, 'y': 2, 'n': 9, 'd': 6, 'e': 12, 'b': 1, 'k': 3, 'I': 1, 'J': 1, 'A': 1, 'v': 1, 'm': 1, 'W': 1, 'c': 1, 'p': 1}

Python 相关文章推荐
Python实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
Python制作CSDN免积分下载器
Mar 10 Python
详解Python的Django框架中的Cookie相关处理
Jul 22 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
Python调用ctypes使用C函数printf的方法
Aug 23 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
Python解析并读取PDF文件内容的方法
May 08 Python
python从入门到精通 windows安装python图文教程
May 18 Python
Python中新式类与经典类的区别详析
Jul 10 Python
python文档字符串(函数使用说明)使用详解
Jul 30 Python
多个python文件调用logging模块报错误
Feb 12 Python
Python中lru_cache的使用和实现详解
Jan 25 Python
Python判断变量名是否合法的方法示例
Jan 28 #Python
Python使用while循环花式打印乘法表
Jan 28 #Python
Python实现程序判断季节的代码示例
Jan 28 #Python
Python后台管理员管理前台会员信息的讲解
Jan 28 #Python
Python之列表实现栈的工作功能
Jan 28 #Python
Python中常用的内置方法
Jan 28 #Python
Python中的元组介绍
Jan 28 #Python
You might like
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
javascript 学习笔记(onchange等)
2010/11/14 Javascript
php与js的区别是什么
2013/08/05 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
全面解析JavaScript Module模式
2020/07/24 Javascript
python抓取最新博客内容并生成Rss
2015/05/17 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
python yield关键词案例测试
2019/10/15 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
祖国在我心中演讲稿
2014/01/15 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
趵突泉导游词
2015/02/03 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers