Python小题目1:输出文本中出现频次最高的字符
存在一个文本文件,如文件名是《命运》,要求对其进行字符频次统计,输出频次最高的字符
文章目录
文章目录
前言
一、思路
二、使用步骤
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:输出文本中出现频次最高的字符相关推荐
- python频次统计图_科学网—Python小例:统计文本中单词出现的频次 - 康建的博文...
import re zen=''' The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better ...
- Python实现计算一段文本中每个单词出现的次数
看实验楼的课程,有一个小练习,做了一下.要求用Python实现计算一段文本中每个单词出现的次数. sentence = 'hello world nihao world hey hello java ...
- python小练——下载指定url中的图片
python小练--下载指定url中的图片 #coding=gbk #download pictures of the url #useage: python downpicture.py www.b ...
- 吴枫 python小课怎么样_编程中,有哪些好的习惯从一开始就值得坚持?
电影<喜剧之王>里,周星驰饰演的尹天仇,是一个渴望成为真正的演员,却不断沦为落魄跑龙套的小人物. 即便如此,他对演戏的态度始终认真而可敬.他每天不但锲而不舍寻找演戏机会,还在街坊福利社开了 ...
- Python数据清洗:提取爬虫文本中的电话号码
步骤索引 效果展示 注意事项 代码 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知 ...
- 超好用Python小功能(持续更新中)
文章目录 一.字符串操作小功能 1.把数字转为千位数值类型 2.检测字符串是不是纯数字 3.python列表的交.并.差集 4.对列表中字典中的字典排序 5.python 求角度大小 6.已知一个点, ...
- python 去除英文或中文文本中标点和数字及指定字符串
例一 from string import punctuation from string import digits import redef preprocess_English(text,rm_ ...
- python对excel筛选提取文本中数字_python实现将字符串中的数字提取出来然后求和...
因工作原因,很久没有学习python知识了,感觉都快忘记了,前天看到一个练习题,如何将字符串中的数字提取出来,然后求和呢?下面我来解释一下如何通过python代码来实现. 题目:字符串43-3y2.f ...
- python 读出指定的行_【python】有规律的文本中读取指定的行
最近在学习python,正好工作中遇到一个问题,正好拿来练练手. User 3%, System 16%, IOW 0%, IRQ 0% User 11 + Nice 0 + Sys 51 + Idl ...
最新文章
- 悉尼大学计算机研究生学制,悉尼大学研究生学制
- C# Socket编程(5)使用TCP Socket
- python 线程锁_python多线程编程(3): 使用互斥锁同步线程
- windows(win7,win8,xp)hosts文件找不到原因分析及解决方法
- linux nvme的sendfile流程
- NYOJ243 - 交换输出
- 开启WIN10的卓越性能模式
- win32应用程序_教你打开程序提示不是有效的win32程序怎么办
- PowerVR SDK 2020 Release 2发布:多处更新优化,性能更强大
- 虚拟机内存管理之内存分配器
- 准备要注销的公司,但是公司名下商标怎么处理?
- 测试黑色背景黑色字体
- Ubuntu在线音乐盒-亦歌
- 零基础入门学习python笔记-day1:程序开发谋定而后动
- Junit 实例精讲基础教程(一) 使用@Ignore注解跳过单元测试方法的执行
- Could not resolve placeholder 占位符不能被解析
- 必修二英语计算机课文翻译,高中英语必修二unit3课文翻译.doc
- 剑魂之刃登录显示服务器异常,剑魂之刃新手问题汇总
- ModelCheckpoint详解
- python datetime 格式化_[已解决]Python中用strftime格式化datetime出错
热门文章
- 2021-2027全球与中国娱乐性电子游戏市场现状及未来发展趋势
- 机器学习基础问题1|欠拟合与过拟合
- 如何实现多风格选择样式实时切换?
- 为什么用python扒取出来的数据为空列表_如何解决python xpath爬取页面得到空列表(语法都对的情况下)...
- 7-15 球队“食物链” 某国的足球联赛中有N支参赛球队,编号从1至N。联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场。
- Python数据分析练习(二)数据分析工具Pandas
- matlab声呐模拟,基于VC++和Matlab的交互式主动声呐模拟系统
- html好看的登录页面1(十三种风格登录页面源码)
- 样本方差公式是如何推导出来的?
- 设置WebBrower的显示方式