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也可以
降序 展开
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也可以
降序 展开
展开全部
最复杂的就是这一行了:
(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
(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对)的代码,前半段运行没有问题
追答
是统计每一个单词出现次数的字典吗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询