博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
统计词频问题
阅读量:4976 次
发布时间:2019-06-12

本文共 853 字,大约阅读时间需要 2 分钟。

adict={}x=input().lower() #把单词大写字母改为小写字母for i in x:    if i in [',','.',"'",'"','!']:        x=x[:x.index(i)]+x[x.index(i)+1:]  #把句子中的非字母字符用切片操作删掉aset=set(x.split(' '))  #集合的好处在于不重复alst=x.split(' ')for n in aset:    tempdict={n:alst.count(n)}    adict.update(tempdict)  #字典的update方法,把tempdict内容添加到adict里面sorted(adict)  #排序for w in adict:    print(w,adict[w])

 第五行也可以用字符串的replace方法

x=x.replace(i,' ')

倒三行的排序,优化成:先按照词频排序,如果词频相同,则按照词语排序(ASCII)

lst=sorted(adict.items(),key=lambda x:(x[1],x[0]))
#最终解答:adict={}x=input().lower()for i in x:    if i in [',','.',"'",'"','!']:        x=x[:x.index(i)]+x[x.index(i)+1:]aset=set(x.split())alst=x.split(' ')for n in aset:    tempdict={n:alst.count(n)}    adict.update(tempdict)lst=sorted(adict.items(),key=lambda x:(x[1],x[0]))for w in lst:    print(w[0],w[1])

 

转载于:https://www.cnblogs.com/Joanna-2019/p/10678826.html

你可能感兴趣的文章
adb logcat
查看>>
VME总线 分类: 生活百科 2014-06-...
查看>>
数字信号相关和卷积
查看>>
[CSAPP]Bufbomb实验报告
查看>>
NaviActivity实现
查看>>
将已安装win10的系统重装(格式化C盘)
查看>>
C# 中的委托和事件
查看>>
CSS基础学习 17.CSS动画
查看>>
ATM机
查看>>
java反射
查看>>
js表单反显
查看>>
浪潮之巅阅读笔记二
查看>>
CSS内嵌样式实现打字效果
查看>>
从 HTTP 到 HTTPS 再到 HSTS
查看>>
python - class类 (六) 三大特性 - 多态
查看>>
JAVA普通内部类的用法
查看>>
C++ Windows 获取CPU利用率【转】
查看>>
linux环境下 C++性能测试工具 gprof + kprof + gprof2dot【转】
查看>>
SpringMVC------在运行项目的时候run as 里面没有run on server 解决办法
查看>>
Win10+Anaconda3+Eclipse+Django+MySQL 配置Python的Web开发环境
查看>>