导航:首页 > 源码编译 > 单词出现频率最高10个算法

单词出现频率最高10个算法

发布时间:2023-08-23 04:47:15

python统计字符串中单词数量

使用比较基本的方法写的参考代码:

#!/usr/bin/envpython
#-*-coding:utf-8-*-
#python2.7
importre
printu'请输入字符串:'
wz=raw_input()
s=wz.lower()
#小写单词的正则表达式
r='[a-z]+'
#找到所有单词
ws=re.findall(r,s)
#定义一个字典来存储单词和次数
dt={}
forwinws:
dt[w]=dt.setdefault(w,0)+1
#wd来存储单词集合,可能有几个,比如2个单词,都出现30次
wd=[]
#max用来存储单词出现的最多的次数
max=0
forword,timesindt.items():
iftimes>max:
wd=[]
wd.append(word)
max=times
eliftimes==max:
wd.append(word)

printu'有%s个单词,出现频率最高:'%len(wd)
forxinwd:
print"%s %s"%(x,max)

测试

请输入字符串:
!!!
有2个单词,出现频率最高:
a2
good2

㈡ 高频词问题,请教编程算法(不一定要编程实现,算法即可)

以下方法应该是最优了,关注高人的解答。。

1、先过滤不参与统计的符号,如单引号,逗号等
2、通过split分段函数将字符串以空格为界限分割,并将分割出来的每个单词保存到数组中
3、使用最优排序算法将单词进行排序
4、声明两个变量str和n,分别用于记录当前单词和出现次数
5、开始遍历,由于已经经过了排序,所以相同的单词一定是排在一起的,因此,如果下一个单词和当前相同就将计数加一,否则就和n比较,较大的保留在变量中。
6、遍历完毕,保留在变量中的,就是频率就高的单词!

阅读全文

与单词出现频率最高10个算法相关的资料

热点内容
张勤编译青鸟 浏览:989
演出app哪个好 浏览:864
凤凰app推广开户哪个好 浏览:823
租服务器要关注什么 浏览:215
shell命令vi 浏览:673
javaem算法 浏览:588
闪送app哪里下载 浏览:654
java语言编译器词法分析 浏览:379
22岁程序员图片大全 浏览:954
ibm如何查看服务器raid 浏览:678
程序员那么可爱叶子是谁 浏览:716
gcc82编译器入口地址 浏览:693
上架一个服务器要做什么 浏览:854
创立文件夹命令 浏览:252
单片机移位寄存器 浏览:6
java程序设计及实训教程 浏览:335
redis有序集合算法 浏览:778
java获取最大值 浏览:74
linux硬件配置命令 浏览:948
java6webservice 浏览:450