本文实例讲述了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}

PS:这里再为大家推荐2款相关统计工具供大家参考:

在线字数统计工具:http://tools.jb51.net/code/zishutongji

在线字符统计与编辑工具:http://tools.jb51.net/code/char_tongji

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

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

本文地址: http://www.cppcns.com/jiaoben/python/251344.html

python统计单词频率、存放在字典中_Python3实现统计单词表中每个字母出现频率的方法示例...相关推荐

  1. python在单词表中查找包含所有元音字母aeiou的单词并打印

    python在单词表中查找包含所有元音字母aeiou的单词并打印 python单词表中查找所有的元音字母aeiou: 方法一: def claen(word):return word.strip(). ...

  2. 查找单词表中的最长单词

    背景描述 在本地txt文件中存有一张单词表,其内容如下: hello all I love see you everyone bye you very much 请利用Java程序查找单词表中的最长单 ...

  3. __init__在python中的用法知乎_python使用selenium爬虫知乎的方法示例

    说起爬虫一般想到的情况是,使用 python 中都通过 requests 库获取网页内容,然后通过 beautifulSoup 进行筛选文档中的标签和内容.但是这样有个问题就是,容易被反扒机制所拦住. ...

  4. python将二维数组转换为一维数组_python的set处理二维数组转一维数组的方法示例...

    for splitValue in set(dataset[:, featureIndex].tolist()): 首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重:但是set接收 ...

  5. 无限遍历,Python实现在多维嵌套字典、列表、元组的JSON中获取数据

    背景 在做接口自动化的过程中,接口返回的数据是  列表字典循环嵌套  格式的,所以怎样通过一个key值,获取到被包裹了多层的目标数据成为了摆在我面前的一个问题. 一开始没想自己写,但是搜索后发现虽然很 ...

  6. python 判断字符串是否为空,字典是否为空,列表是否为空,元组是否为空的方法

    在python 中 None,空列表[],空元组(),空字典{},0都是被程序判断为False ,所以我们判断对象是否为空可以直接是用if x 或者if not x 的方法来判断对象是否为空 2个方法 ...

  7. word文档将单词表中单词挖空

    比如 apple n. 苹果 handsome adj.帅气 可以进行两步操作: 1. 通配符,<adj><n><pron><prep><v> ...

  8. python函数求n年后本息_Python自定义函数计算给定日期是该年第几天的方法示例...

    本文实例讲述了Python自定义函数计算给定日期是该年第几天的方法.分享给大家供大家参考,具体如下: 写一个函数,计算给定日期是该年的第几天. 满足闰年的条件: 闰年是公历中的名词,能被4整除但不能被 ...

  9. python读取多个文件夹下所有txt_Python实现合并同一个文件夹下所有txt文件的方法示例...

    本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法.分享给大家供大家参考,具体如下: 一.需求分析 合并一个文件夹下所有txt文件 二.合并效果 三.python实现代码 # -*- ...

最新文章

  1. 6.2 IP子网划分
  2. [转载]使用C#的BitmapData
  3. android 之SharedPreferences,SDCard以及网络存储
  4. 计算机中减法的实现原理
  5. HDU 1042 N!(高精度阶乘、大数乘法)
  6. Apache Kafka / Spark流系统的性能调优
  7. python入口函数的作用_python之函数中参数的作用域
  8. 在CentOS6.9中搭建HBase
  9. maven配置eclipse案例及命令
  10. 架构师该不该写代码?
  11. 戴尔公司大中华区总裁黄陈宏 要烧哪三把火
  12. 编写用户故事模板_编写踢屁股用户故事
  13. 【移动光猫H2-2的完全破解心路历程及配置】
  14. LL(1)文法构造FIRST、FOLLOW、分析表并分析
  15. Unity检视面板重构(OnInspectorGUI重写)
  16. 教老婆学java系列之奇妙的数据结构三
  17. python import相对引用和绝对引用
  18. apk加固 4个加固平台||整合||对App加固可以有效防止移动应用被破解、二次打包等
  19. el-drawer隐藏滚动条(兼容firefox浏览器)
  20. 钉钉审批回调 获取单个审批实例详情  遇见System.Collections.Generic.List`1[DRMS.DingTalk.FormRowValue+ExtendValue] 错误

热门文章

  1. MySQL中用decimal的原因
  2. 在多台服务器上简单实现Redis的数据主从复制
  3. stm32f102 SPI口重复初始化引起的问题及解决办法
  4. C++中特定宏_FUNCTION_
  5. jieba分词实现原理(C++版 + python篇)(二)
  6. 深度探索C++ 对象模型(6)-Data member的绑定
  7. Kubernetes安全之认证
  8. ATF里面都有什么?
  9. TEE Internal core API介绍(globalplatform)
  10. SegAttnGAN: Text to Image Generation with Segmentation Attention 论文解读