当前位置: 首页 > news >正文

Python词频统计(数据整理)

 请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词。

输入格式:

 输入给出一段非空文本,最后以符号#结尾。输入保证存在至少10个不同的单词。

输出格式:

 在第一行中输出文本中所有不同单词的个数。注意“单词”不区分英文大小写。随后按照词频递减的顺序,按照 <词频:单词> 的格式输出词频最大的前10%的单词。若有并列,则按递增字典序输出。

输入样例:

This is a test.The word "this" is the word with the highest frequency.Longlonglonglongword should be cut off, so is considered as the same as longlonglonglonee.  But this_8 is different than this, and this, and this...#
this line should be ignored.

输出样例:

23
5:this
4:is

(注意:虽然单词the也出现了4次,但因为我们只要输出前10%(即23个单词中的前2个)单词,而按照字母序,the排第3位,所以不输出。) 

代码示例 :

#定义临时文本段落
text = ""
#定义文本统计字典
text_dic = {}
#多行输入
while True:#定义临时缓存并整理buffer = input().replace('.','').replace('"','').replace(',','').lower()if buffer:text += buffer + ' 'if buffer[-1] == '#':text = text.replace('#', '')print('text',text)breakelse:continue
#剪切临时文本存入字典
for x in text.split(' '):if x == '':continueif x not in text_dic:text_dic[x] = 1else:text_dic[x] += 1
#从大到小值排序
sorted_dict = {k: v for k, v in sorted(text_dic.items(), key=lambda item: item[1],reverse = True)}
#文本前百分之十
top_10_percent = sum(sorted_dict.values()) * 0.1
top_10_percent_count = 0
#定义词的种数
words = 0
for x in sorted_dict:words += 1if top_10_percent_count < top_10_percent:top_10_percent_count += sorted_dict[x]print(f'{sorted_dict[x]}:{x}')
print(words)

以上代码全为本人亲自手敲,可能有一些错误和不足之处,如有更好的方法和建议,欢迎您在评论区友善讨论。

http://www.lryc.cn/news/252048.html

相关文章:

  • 基本面选股的方法
  • 应用密码学期末复习(3)
  • PAD平板签约投屏-高端活动的选择
  • 分布式架构demo
  • TA-Lib学习研究笔记(二)——Overlap Studies上
  • 牛客java基础考点1 标识符和变量
  • Qt将打印信息输出到文件
  • 【risc-v】易灵思efinix FPGA sapphire_soc IP配置参数分享
  • 直播的种类及类型
  • 时间序列数据压缩算法简述
  • 智能锁-SI522TORC522方案资料
  • redux(4) -RTK简单使用
  • 开源运维监控系统-Nightingale(夜莺)应用实践(未完)
  • 深入理解GMP模型
  • 数学建模-基于集成学习的共享单车异常检测的研究
  • C语言-内存分配
  • 算法工程师-机器学习面试题总结(1)
  • 【蓝桥杯选拔赛真题73】Scratch烟花特效 少儿编程scratch图形化编程 蓝桥杯创意编程选拔赛真题解析
  • Juniper EX系列交换机端口配置操作
  • 2.1 Linux C 编程
  • 服务器数据恢复—ocfs2文件系统被格式化为其他文件系统如何恢复数据?
  • 海云安参与制定《信息安全技术 移动互联网应用程序(App)软件开发工具包(SDK)安全要求》标准正式发布
  • 如何调用 API | 学习笔记
  • 关于云备份项目的HTTP协议字段理解
  • 掉落的俄罗斯方块
  • 医院不良事件报告系统源码带鱼骨图分析
  • 数据库相关算法题 V3
  • 第二证券:本周3只新股申购,大豆蛋白行业领军企业来了!
  • 【go语言开发】loglus日志框架的使用
  • 【Unity动画】Unity 动画播放的流程