Python 3.x python中的字典排序不正确

Python 3.x python中的字典排序不正确,python-3.x,nltk,nltk-book,Python 3.x,Nltk,Nltk Book,我的代码应该输出语料库中频率最高的前10个单词。然而,它给出了10个随机字的输出 from nltk.corpus import brown import operator brown_tagged_sentences = brown.tagged_sents(categories='news') fd=nltk.FreqDist(brown.words(categories='news')) sorted_fd = dict(sorted(fd.items(), key=operator.i

我的代码应该输出语料库中频率最高的前10个单词。然而,它给出了10个随机字的输出

from nltk.corpus import brown
import operator

brown_tagged_sentences = brown.tagged_sents(categories='news')
fd=nltk.FreqDist(brown.words(categories='news'))
sorted_fd = dict(sorted(fd.items(), key=operator.itemgetter(1), reverse=True))
print(sorted_fd)
most_freq_words=list(sorted_fd)[:10]
for word in most_freq_words:
    print(word,':',sorted_fd[word])
当前输出如下所示,这是错误的:

Rae : 1
discharge : 1
ignition : 1
contendere : 1
done : 24
meaning : 4
ashore : 1
Francesca : 1
Vietnamese : 1
data : 4

请帮我找到工作。希望这是最好的方法:

fd=nltk.FreqDist(brown.words(categories='news'))
sorted_fd = sorted(fd.items(), key=operator.itemgetter(1), reverse=True)
most_freq_words = [w for w,c in sorted_fd]
most_freq_words = most_freq_words[:10]
for word in most_freq_words:
    print(word,':',fd[word])

有工作要做。希望这是最好的方法:

fd=nltk.FreqDist(brown.words(categories='news'))
sorted_fd = sorted(fd.items(), key=operator.itemgetter(1), reverse=True)
most_freq_words = [w for w,c in sorted_fd]
most_freq_words = most_freq_words[:10]
for word in most_freq_words:
    print(word,':',fd[word])
nltk的
FreqDist()
类可以使用
most\u common()
方法,按频率降序直接向您提供其内容:

nltk的
FreqDist()
类可以使用
most\u common()
方法,按频率降序直接向您提供其内容:


字典是未排序的数据结构,它们不保持顺序,请在中阅读更多内容。我正在研究并尝试实现这一点。但它不起作用。我不确定我是否做对了。字典是未排序的数据结构,它们不保持顺序,请在中阅读更多内容。我正在研究并尝试实现这一点。但它不起作用。我不确定我是否做对了。最好的“解决办法”是。最好的“解决办法”是。