
Python 如何对输出的词频结果按字母顺序排序(NLTK)
编程新手……有这样一个Python程序(使用了nltk):importnltkfile_b=open('a.txt','r')tokens=nltk.word_token...
编程新手……有这样一个Python程序(使用了nltk):
import nltk
file_b = open('a.txt', 'r')
tokens = nltk.word_tokenize(file_b)
fdist1 = nltk.FreqDist(tokens)
for key,val in sorted(fdist1.iteritems())[:5]:
print "{1}: {0}".format(key, round(val / len(tokens), 2))
输出的结果是:
0.02: a
0.02: after
0.04: and
0.02: arms
0.02: away
我想将结果修改为:首先以频率由大到小排序,再按照字母顺序排序,请问我该如何修改我的语句?
不胜感谢!! 展开
import nltk
file_b = open('a.txt', 'r')
tokens = nltk.word_tokenize(file_b)
fdist1 = nltk.FreqDist(tokens)
for key,val in sorted(fdist1.iteritems())[:5]:
print "{1}: {0}".format(key, round(val / len(tokens), 2))
输出的结果是:
0.02: a
0.02: after
0.04: and
0.02: arms
0.02: away
我想将结果修改为:首先以频率由大到小排序,再按照字母顺序排序,请问我该如何修改我的语句?
不胜感谢!! 展开
2个回答
展开全部
import nltk
file_b = open('a.txt', 'r')
tokens = nltk.word_tokenize(file_b)
fdist1 = nltk.FreqDist(tokens)
for key,val in sorted(fdist1.iteritems())[:5]:
print ("{1}: {0}".format(key, round(val / len(tokens), 2)))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询