对于我的家庭作业,我需要分离出文本中出现频率最高的 50 个单词。我已经尝试了很多东西,在我最近的尝试中,我用这个做了一个索引:
concordance = {}
lineno = 0
for line in vocab:
lineno = lineno + 1
words = re.findall(r'[A-Za-z][A-Za-z\'\-]*', line)
for word in words:
word = word.title()
if word in concordance:
concordance[word].append(lineno)
else:
concordance[word] = [lineno]
listing = []
for key in sorted(concordance.keys()):
listing.append( [key, concordance[key] ])
我想知道的是,我是否可以将后续的索引按照最常用词到最不常用词的顺序进行排序,然后隔离并打印前50个?我不允许导入除re
and以外的任何模块sys
,我正在努力想出一个解决方案。