存在一个文本文件,如文件名是《命运》,要求对其进行字符频次统计,输出频次最高的字符

文章目录

文章目录

前言

一、思路

二、使用步骤

1.输出频次最高的中文字符

2.输出频次最高的前十个字符

3.将所有的字符按频次高低输出为文本

总结



前言

大概是想给我一样的初学者一点思路,其实我们不必急于求成去研究第三方库,毕竟还没有学会跑嘛,大家得先站起来走走。


一、思路

这个题目我的思路很简单,读取文件后进行遍历,通过条件(删去中文的符号之类的)与字典的get函数用法,从而实现统计字符的功能,再通过sort函数内的reverse=True实现从高到低排序。再切片实现最高的字符输出就可以了。


二、使用步骤

1.输出频次最高的中文字符

代码如下(示例):

f = open('命运.txt','r')
txt = f.read()
d = {}
for i in txt:                                #遍历txt里的内容if i not in ",。?!《》【】“”‘’":        #判断字符是否为中文标点符号d[i] = d.get(i,0)+1         #get函数如key已存在则返回键对应值,不存在则返回1,相当于记数
ls = list(d.items())               #取出字典的键值对转换成列表,此时键值对已经是字符:频次的格式
ls.sort(key=lambda x:x[1],reverse = True)
print("{}:{}".format(ls[0][0],ls[0][1]))    #输出频次最高的字符
f.close()

2.输出频次最高的前十个字符

代码如下(示例):


f = open('命运.txt','r')
txt = f.read()
d = {}
for i in txt:if i not in '\n':d[i] = d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
for k in range(10):     #相比之下 就比之前要多了一个10次遍历print(ls[k][0],end='')    #因为已经k是是数字0123..那么后面只需要索引每个字符的位置(1)就行
f.close()

3.将所有的字符按频次高低输出为文本

代码如下(示例):

f=open('命运.txt','r')
fi=open('命运-频次排序',‘w’)
txt=f.read()
d={}
for i in txt:if i not in "\n" and' ':#为了判断字符是否是换行或者空字符d[i]=d.get(i,0)+1
ls=list(d.items)
ls.sort(key==lambda x:x[1],reverse=True)
s=''
for k in ls:s+="{}:{}".sormat(k[0],k[1])+''
fi.write(s[:-1])#到-1切片不会切到最后一个字符
f.close()
fi.close()

总结:

下一次仍然是字符的统计频次题目,更加精细的讲解get函数的妙用,咱们下期再见!

Python小题目1:输出文本中出现频次最高的字符相关推荐

  1. python频次统计图_科学网—Python小例:统计文本中单词出现的频次 - 康建的博文...

    import re zen=''' The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better ...

  2. Python实现计算一段文本中每个单词出现的次数

    看实验楼的课程,有一个小练习,做了一下.要求用Python实现计算一段文本中每个单词出现的次数. sentence = 'hello world nihao world hey hello java ...

  3. python小练——下载指定url中的图片

    python小练--下载指定url中的图片 #coding=gbk #download pictures of the url #useage: python downpicture.py www.b ...

  4. 吴枫 python小课怎么样_编程中,有哪些好的习惯从一开始就值得坚持?

    电影<喜剧之王>里,周星驰饰演的尹天仇,是一个渴望成为真正的演员,却不断沦为落魄跑龙套的小人物. 即便如此,他对演戏的态度始终认真而可敬.他每天不但锲而不舍寻找演戏机会,还在街坊福利社开了 ...

  5. Python数据清洗:提取爬虫文本中的电话号码

    步骤索引 效果展示 注意事项 代码 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知 ...

  6. 超好用Python小功能(持续更新中)

    文章目录 一.字符串操作小功能 1.把数字转为千位数值类型 2.检测字符串是不是纯数字 3.python列表的交.并.差集 4.对列表中字典中的字典排序 5.python 求角度大小 6.已知一个点, ...

  7. python 去除英文或中文文本中标点和数字及指定字符串

    例一 from string import punctuation from string import digits import redef preprocess_English(text,rm_ ...

  8. python对excel筛选提取文本中数字_python实现将字符串中的数字提取出来然后求和...

    因工作原因,很久没有学习python知识了,感觉都快忘记了,前天看到一个练习题,如何将字符串中的数字提取出来,然后求和呢?下面我来解释一下如何通过python代码来实现. 题目:字符串43-3y2.f ...

  9. python 读出指定的行_【python】有规律的文本中读取指定的行

    最近在学习python,正好工作中遇到一个问题,正好拿来练练手. User 3%, System 16%, IOW 0%, IRQ 0% User 11 + Nice 0 + Sys 51 + Idl ...

最新文章

  1. 悉尼大学计算机研究生学制,悉尼大学研究生学制
  2. C# Socket编程(5)使用TCP Socket
  3. python 线程锁_python多线程编程(3): 使用互斥锁同步线程
  4. windows(win7,win8,xp)hosts文件找不到原因分析及解决方法
  5. linux nvme的sendfile流程
  6. NYOJ243 - 交换输出
  7. 开启WIN10的卓越性能模式
  8. win32应用程序_教你打开程序提示不是有效的win32程序怎么办
  9. PowerVR SDK 2020 Release 2发布:多处更新优化,性能更强大
  10. 虚拟机内存管理之内存分配器
  11. 准备要注销的公司,但是公司名下商标怎么处理?
  12. 测试黑色背景黑色字体
  13. Ubuntu在线音乐盒-亦歌
  14. 零基础入门学习python笔记-day1:程序开发谋定而后动
  15. Junit 实例精讲基础教程(一) 使用@Ignore注解跳过单元测试方法的执行
  16. Could not resolve placeholder 占位符不能被解析
  17. 必修二英语计算机课文翻译,高中英语必修二unit3课文翻译.doc
  18. 剑魂之刃登录显示服务器异常,剑魂之刃新手问题汇总
  19. ModelCheckpoint详解
  20. python datetime 格式化_[已解决]Python中用strftime格式化datetime出错

热门文章

  1. 2021-2027全球与中国娱乐性电子游戏市场现状及未来发展趋势
  2. 机器学习基础问题1|欠拟合与过拟合
  3. 如何实现多风格选择样式实时切换?
  4. 为什么用python扒取出来的数据为空列表_如何解决python xpath爬取页面得到空列表(语法都对的情况下)...
  5. 7-15 球队“食物链” 某国的足球联赛中有N支参赛球队,编号从1至N。联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场。
  6. Python数据分析练习(二)数据分析工具Pandas
  7. matlab声呐模拟,基于VC++和Matlab的交互式主动声呐模拟系统
  8. html好看的登录页面1(十三种风格登录页面源码)
  9. 样本方差公式是如何推导出来的?
  10. 设置WebBrower的显示方式