python统计字符串中单词数量
发布网友
发布时间:2022-04-23 10:12
我来回答
共1个回答
热心网友
时间:2022-04-07 08:54
使用比较基本的方法写的参考代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#python 2.7
import re
print u'请输入字符串:'
wz = raw_input()
s = wz.lower()
#小写单词的正则表达式
r='[a-z]+'
#找到所有单词
ws = re.findall(r,s)
#定义一个字典来存储单词和次数
dt = {}
for w in ws:
dt[w] = dt.setdefault(w,0)+1
#wd来存储单词集合,可能有几个,比如2个单词,都出现30次
wd = []
#max用来存储单词出现的最多的次数
max = 0
for word,times in dt.items():
if times>max:
wd = []
wd.append(word)
max = times
elif times == max:
wd.append(word)
print u'有%s个单词,出现频率最高:'%len(wd)
for x in wd:
print "%s\t%s"%(x,max)
测试
请输入字符串:
A good beginning makes a good ending!!!
有2个单词,出现频率最高:
a 2
good 2