python输出出现频率最高的字母_用Python实现搜索某一网页中出现频率最高的前N个英文单词 输入: 网址,N值 输出:按出现频率由高到低排...

满意答案

好象是有一个jieba分词。国人写的,有一个小男孩的头像。挺简单,好玩。

它里有topN的算法。我把代码复制过来。你看一下。最关键的就一句话。

import sys

sys.path.append('../')

import jieba

import jieba.analyse

from optparse import OptionParser

USAGE ="usage: python extract_tags.py [file name] -k [top k]"

parser = OptionParser(USAGE)

parser.add_option("-k",dest="topK")

opt, args = parser.parse_args()

if len(args) <1:

print USAGE

#sys.exit(1)

file_name = args[0]

if opt.topK==None:

topK=10

else:

topK = int(opt.topK)

print file_name

content = open(file_name,'rb').read()

tags = jieba.analyse.extract_tags(content,topK=topK) #这一句

print ",".join(tags)

如果是英文单词就更简单了。可能几句话。我试一下看

s=open("some.txt").read()

import re

words=re.findall("(?isu)(\S+)",s)

counts={}

for w in words:

try:

counts[w]+=1

except KeyError:

counts[w]=1

items=count.items()

items.sort(key=lambda x:x[1],reverse=True)

for k,v in items:

print k,v

这样应该就可以了。

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值