У меня есть код для ранжирования количества слов в txt-файле, который я импортировал из URL-адреса.Как распечатать номер ранга слова?
from string import punctuation
from operator import itemgetter
N = 20
words = {}
words_gen = (word.strip(punctuation).lower() for line in open("output.txt")
for word in line.split())
for word in words_gen:
words[word] = words.get(word, 0) + 1
top_words = sorted(words.items(), key=itemgetter(1), reverse=True)[:N]
for word, frequency in top_words:
print("%s %d" % (word, frequency))
Так из текстового файла, он будет возвращать:
hello 8
him 5
your 4
код делает ранжирование, но есть способ, чтобы распечатать рейтинге числа?
Я бы хотел, чтобы это выглядело так.
hello 1 8
him 2 5
your 3 4
Первое число - это общий ранг, а второе число - это частота слова в этом текстовом файле. Я пробовал делать, считая ранг.
rank=0
if top_words:
rank+=1
Но я не знаю, куда идти оттуда.