python结巴分词后字典排列元素(key/value对)代码详解

importjiebaimportjieba.possegstop=[line.strip()forlineinopen(‘stopwords.txt','r',enco... import jieba

import jieba.posseg

stop = [line.strip() for line in open(‘stopwords.txt' , 'r' , encoding = "utf-8").readlines()]

file = open('data.txt' , 'r')
line = file.readline()
while line!=" ":
print(" / ".join(list(word for word in jieba.cut(line,HMM=True)if word not in stop and len(word.strip())>1)))
line = file.readline()
以上完成分词及停用词
求之后字典排列元素(key/value对)代码详解
发邮箱siriuszyq@163.com也可以
降序
展开
 我来答
日TimE寸
推荐于2016-05-31 · TA获得超过9568个赞
知道大有可为答主
回答量:1358
采纳率:83%
帮助的人:482万
展开全部
最复杂的就是这一行了:
(word for word in jieba.cut(line,HMM=True)if word not in stop and len(word.strip())>1)
jieba.cut(line)将一行字符串,分割成一个个单词
word for word in jieba.cut(line,HMM=True)是一个Python的表理解,相当于for循环遍历分割好的一个个单词
if word not in stop and len(word.strip())>1这仍然是表理解的一部分,如果满足条件,就把单词加入到一个新的列表中,如果不满足就丢弃,
word not in stop单词不在停用词当中
len(word.strip())>1单词去掉首尾的空格、标点符号后的长度大于1
更多追问追答
追问
我需要用字典降序排列(key/value对)的代码,前半段运行没有问题
追答
是统计每一个单词出现次数的字典吗
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式