Я пытаюсь получить триграммы из предложения и сохранить их в словаре, с их частотой в качестве значения. я писал:Почему я получаю IndexError?
trigrams = {}
sentence = ["What", "is", "happening", "right", "now"]
for word in sentence:
if word != sentence[-1] or sentence[-2] and tuple((word, sentence[sentence.index(word) +1], sentence[sentence.index(word) +2])) not in trigrams:
trigrams.update({tuple((word, sentence[sentence.index(word) +1], sentence[sentence.index(word) +2])):1})
должен выглядеть следующим образом: ("что", "есть", "происходят"): 1 ("есть", "происходит", "право"): 1 etc
Но теперь я продолжаю получать IndexError в линии обновления.
Подсказка: что происходит, когда вы находитесь на последнем слове? –
'word! = Предложение [-1] или предложение [-2]': это не то, что вы хотели сделать. –
Я не могу построить триграммы с двумя последними словами в качестве первого слова (справа, сейчас, ???), поэтому я не буду с ними ничего делать. Поэтому тест, если текущее слово является одним из двух последних слов. – spiderkitty