Я создал словарь, посчитав список положительных слов (positives.txt) поверх списка твитов (tweets.txt). Сейчас я пытаюсь напечатать топ-5 использованных позитивных слов с соответствующими оценками. Мне удалось отсортировать оценки и напечатать весь список слов с их оценками, например:
(остаток списка ...) wordx 5 wordy 28 wordz 35
Моя цельдолжен напечатать (только) топ 3:
wordz 35 wordy 28 wordx 5
Я пытался указывать индексы в разных местах, но продолжаю получать сообщения об ошибках, такие как: Traceback (последний вызов последний):
print(word[3], score[3])
IndexError: string index out of range
print(word[0:5], score[0:5])
TypeError: 'int' object is not subscriptable
Текущий код:
def positive_word(tweets, positives):
"""prints the top 5 most used positive words"""
x = {}
#for l in range(5):
for l in range(len(positives)):
x[positives[l]] = 0
#for m in range (5):
for m in range (len(tweets)):
#for n in range (5):
for n in range (len(positives)):
if positives[n] in tweets[m]:
x[positives[n]] += 1
for word, score in sorted(x.items(), key = lambda key : key[1]):
print(word, score)